Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
16591 anikendra 1
<?php
2
/**
3
 * FlashComponentTest file
4
 *
5
 * Series of tests for flash component.
6
 *
7
 * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html>
8
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
9
 *
10
 * Licensed under The MIT License
11
 * For full copyright and license information, please see the LICENSE.txt
12
 * Redistributions of files must retain the above copyright notice
13
 *
14
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
15
 * @link          http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests
16
 * @package       Cake.Test.Case.Controller.Component
17
 * @since         CakePHP(tm) v 2.7.0-dev
18
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
19
 */
20
 
21
App::uses('FlashComponent', 'Controller/Component');
22
App::uses('ComponentCollection', 'Controller');
23
 
24
/**
25
 * FlashComponentTest class
26
 *
27
 * @package		Cake.Test.Case.Controller.Component
28
 */
29
class FlashComponentTest extends CakeTestCase {
30
 
31
/**
32
 * setUp method
33
 *
34
 * @return void
35
 */
36
	public function setUp() {
37
		parent::setUp();
38
		$this->Components = new ComponentCollection();
39
		$this->Flash = new FlashComponent($this->Components);
40
	}
41
 
42
/**
43
 * tearDown method
44
 *
45
 * @return void
46
 */
47
	public function tearDown() {
48
		parent::tearDown();
49
		CakeSession::destroy();
50
	}
51
 
52
/**
53
 * testSet method
54
 *
55
 * @return void
56
 */
57
	public function testSet() {
58
		$this->assertNull(CakeSession::read('Message.flash'));
59
 
60
		$this->Flash->set('This is a test message');
61
		$expected = array(
62
			'message' => 'This is a test message',
63
			'key' => 'flash',
64
			'element' => 'Flash/default',
65
			'params' => array()
66
		);
67
		$result = CakeSession::read('Message.flash');
68
		$this->assertEquals($expected, $result);
69
 
70
		$this->Flash->set('This is a test message', array(
71
			'element' => 'test',
72
			'params' => array('foo' => 'bar')
73
		));
74
		$expected = array(
75
			'message' => 'This is a test message',
76
			'key' => 'flash',
77
			'element' => 'Flash/test',
78
			'params' => array('foo' => 'bar')
79
		);
80
		$result = CakeSession::read('Message.flash');
81
		$this->assertEquals($expected, $result);
82
 
83
		$this->Flash->set('This is a test message', array('element' => 'MyPlugin.alert'));
84
		$expected = array(
85
			'message' => 'This is a test message',
86
			'key' => 'flash',
87
			'element' => 'MyPlugin.Flash/alert',
88
			'params' => array()
89
		);
90
		$result = CakeSession::read('Message.flash');
91
		$this->assertEquals($expected, $result);
92
 
93
		$this->Flash->set('This is a test message', array('key' => 'foobar'));
94
		$expected = array(
95
			'message' => 'This is a test message',
96
			'key' => 'foobar',
97
			'element' => 'Flash/default',
98
			'params' => array()
99
		);
100
		$result = CakeSession::read('Message.foobar');
101
		$this->assertEquals($expected, $result);
102
	}
103
 
104
/**
105
 * testSetWithException method
106
 *
107
 * @return void
108
 */
109
	public function testSetWithException() {
110
		$this->assertNull(CakeSession::read('Message.flash'));
111
 
112
		$this->Flash->set(new Exception('This is a test message', 404));
113
		$expected = array(
114
			'message' => 'This is a test message',
115
			'key' => 'flash',
116
			'element' => 'Flash/default',
117
			'params' => array('code' => 404)
118
		);
119
		$result = CakeSession::read('Message.flash');
120
		$this->assertEquals($expected, $result);
121
	}
122
 
123
/**
124
 * testSetWithComponentConfiguration method
125
 *
126
 * @return void
127
 */
128
	public function testSetWithComponentConfiguration() {
129
		$this->assertNull(CakeSession::read('Message.flash'));
130
 
131
		$FlashWithSettings = $this->Components->load('Flash', array('element' => 'test'));
132
		$FlashWithSettings->set('This is a test message');
133
		$expected = array(
134
			'message' => 'This is a test message',
135
			'key' => 'flash',
136
			'element' => 'Flash/test',
137
			'params' => array()
138
		);
139
		$result = CakeSession::read('Message.flash');
140
		$this->assertEquals($expected, $result);
141
	}
142
 
143
/**
144
 * Test magic call method.
145
 *
146
 * @return void
147
 */
148
	public function testCall() {
149
		$this->assertNull(CakeSession::read('Message.flash'));
150
 
151
		$this->Flash->success('It worked');
152
		$expected = array(
153
			'message' => 'It worked',
154
			'key' => 'flash',
155
			'element' => 'Flash/success',
156
			'params' => array()
157
		);
158
		$result = CakeSession::read('Message.flash');
159
		$this->assertEquals($expected, $result);
160
 
161
		$this->Flash->error('It did not work', array('element' => 'error_thing'));
162
		$expected = array(
163
			'message' => 'It did not work',
164
			'key' => 'flash',
165
			'element' => 'Flash/error',
166
			'params' => array()
167
		);
168
		$result = CakeSession::read('Message.flash');
169
		$this->assertEquals($expected, $result, 'Element is ignored in magic call.');
170
	}
171
}