PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / symfony / http-foundation / Tests / Session / SessionTest.php
give / vendor / vendor-prefixed / symfony / http-foundation / Tests / Session Last commit date
Attribute 2 years ago Flash 2 years ago Storage 2 years ago SessionTest.php 2 years ago
SessionTest.php
292 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 *
11 * Modified by impress-org on 23-January-2024 using Strauss.
12 * @see https://github.com/BrianHenryIE/strauss
13 */
14
15 namespace Give\Vendors\Symfony\Component\HttpFoundation\Tests\Session;
16
17 use PHPUnit\Framework\TestCase;
18 use Give\Vendors\Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
19 use Give\Vendors\Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
20 use Give\Vendors\Symfony\Component\HttpFoundation\Session\Session;
21 use Give\Vendors\Symfony\Component\HttpFoundation\Session\SessionBagProxy;
22 use Give\Vendors\Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
23
24 /**
25 * SessionTest.
26 *
27 * @author Fabien Potencier <fabien@symfony.com>
28 * @author Robert Schönthal <seroscho@googlemail.com>
29 * @author Drak <drak@zikula.org>
30 */
31 class SessionTest extends TestCase
32 {
33 /**
34 * @var \Give\Vendors\Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface
35 */
36 protected $storage;
37
38 /**
39 * @var \Give\Vendors\Symfony\Component\HttpFoundation\Session\SessionInterface
40 */
41 protected $session;
42
43 protected function setUp()
44 {
45 $this->storage = new MockArraySessionStorage();
46 $this->session = new Session($this->storage, new AttributeBag(), new FlashBag());
47 }
48
49 protected function tearDown()
50 {
51 $this->storage = null;
52 $this->session = null;
53 }
54
55 public function testStart()
56 {
57 $this->assertEquals('', $this->session->getId());
58 $this->assertTrue($this->session->start());
59 $this->assertNotEquals('', $this->session->getId());
60 }
61
62 public function testIsStarted()
63 {
64 $this->assertFalse($this->session->isStarted());
65 $this->session->start();
66 $this->assertTrue($this->session->isStarted());
67 }
68
69 public function testSetId()
70 {
71 $this->assertEquals('', $this->session->getId());
72 $this->session->setId('0123456789abcdef');
73 $this->session->start();
74 $this->assertEquals('0123456789abcdef', $this->session->getId());
75 }
76
77 public function testSetIdAfterStart()
78 {
79 $this->session->start();
80 $id = $this->session->getId();
81
82 $e = null;
83 try {
84 $this->session->setId($id);
85 } catch (\Exception $e) {
86 }
87
88 $this->assertNull($e);
89
90 try {
91 $this->session->setId('different');
92 } catch (\Exception $e) {
93 }
94
95 $this->assertInstanceOf('\LogicException', $e);
96 }
97
98 public function testSetName()
99 {
100 $this->assertEquals('MOCKSESSID', $this->session->getName());
101 $this->session->setName('session.test.com');
102 $this->session->start();
103 $this->assertEquals('session.test.com', $this->session->getName());
104 }
105
106 public function testGet()
107 {
108 // tests defaults
109 $this->assertNull($this->session->get('foo'));
110 $this->assertEquals(1, $this->session->get('foo', 1));
111 }
112
113 /**
114 * @dataProvider setProvider
115 */
116 public function testSet($key, $value)
117 {
118 $this->session->set($key, $value);
119 $this->assertEquals($value, $this->session->get($key));
120 }
121
122 /**
123 * @dataProvider setProvider
124 */
125 public function testHas($key, $value)
126 {
127 $this->session->set($key, $value);
128 $this->assertTrue($this->session->has($key));
129 $this->assertFalse($this->session->has($key.'non_value'));
130 }
131
132 public function testReplace()
133 {
134 $this->session->replace(['happiness' => 'be good', 'symfony' => 'awesome']);
135 $this->assertEquals(['happiness' => 'be good', 'symfony' => 'awesome'], $this->session->all());
136 $this->session->replace([]);
137 $this->assertEquals([], $this->session->all());
138 }
139
140 /**
141 * @dataProvider setProvider
142 */
143 public function testAll($key, $value, $result)
144 {
145 $this->session->set($key, $value);
146 $this->assertEquals($result, $this->session->all());
147 }
148
149 /**
150 * @dataProvider setProvider
151 */
152 public function testClear($key, $value)
153 {
154 $this->session->set('hi', 'fabien');
155 $this->session->set($key, $value);
156 $this->session->clear();
157 $this->assertEquals([], $this->session->all());
158 }
159
160 public function setProvider()
161 {
162 return [
163 ['foo', 'bar', ['foo' => 'bar']],
164 ['foo.bar', 'too much beer', ['foo.bar' => 'too much beer']],
165 ['great', 'symfony is great', ['great' => 'symfony is great']],
166 ];
167 }
168
169 /**
170 * @dataProvider setProvider
171 */
172 public function testRemove($key, $value)
173 {
174 $this->session->set('hi.world', 'have a nice day');
175 $this->session->set($key, $value);
176 $this->session->remove($key);
177 $this->assertEquals(['hi.world' => 'have a nice day'], $this->session->all());
178 }
179
180 public function testInvalidate()
181 {
182 $this->session->set('invalidate', 123);
183 $this->session->invalidate();
184 $this->assertEquals([], $this->session->all());
185 }
186
187 public function testMigrate()
188 {
189 $this->session->set('migrate', 321);
190 $this->session->migrate();
191 $this->assertEquals(321, $this->session->get('migrate'));
192 }
193
194 public function testMigrateDestroy()
195 {
196 $this->session->set('migrate', 333);
197 $this->session->migrate(true);
198 $this->assertEquals(333, $this->session->get('migrate'));
199 }
200
201 public function testSave()
202 {
203 $this->session->start();
204 $this->session->save();
205
206 $this->assertFalse($this->session->isStarted());
207 }
208
209 public function testGetId()
210 {
211 $this->assertEquals('', $this->session->getId());
212 $this->session->start();
213 $this->assertNotEquals('', $this->session->getId());
214 }
215
216 public function testGetFlashBag()
217 {
218 $this->assertInstanceOf('Give\\Vendors\\Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface', $this->session->getFlashBag());
219 }
220
221 public function testGetIterator()
222 {
223 $attributes = ['hello' => 'world', 'symfony' => 'rocks'];
224 foreach ($attributes as $key => $val) {
225 $this->session->set($key, $val);
226 }
227
228 $i = 0;
229 foreach ($this->session as $key => $val) {
230 $this->assertEquals($attributes[$key], $val);
231 ++$i;
232 }
233
234 $this->assertEquals(\count($attributes), $i);
235 }
236
237 public function testGetCount()
238 {
239 $this->session->set('hello', 'world');
240 $this->session->set('symfony', 'rocks');
241
242 $this->assertCount(2, $this->session);
243 }
244
245 public function testGetMeta()
246 {
247 $this->assertInstanceOf('Give\Vendors\Symfony\Component\HttpFoundation\Session\Storage\MetadataBag', $this->session->getMetadataBag());
248 }
249
250 public function testIsEmpty()
251 {
252 $this->assertTrue($this->session->isEmpty());
253
254 $this->session->set('hello', 'world');
255 $this->assertFalse($this->session->isEmpty());
256
257 $this->session->remove('hello');
258 $this->assertTrue($this->session->isEmpty());
259
260 $flash = $this->session->getFlashBag();
261 $flash->set('hello', 'world');
262 $this->assertFalse($this->session->isEmpty());
263
264 $flash->get('hello');
265 $this->assertTrue($this->session->isEmpty());
266 }
267
268 public function testGetBagWithBagImplementingGetBag()
269 {
270 $bag = new AttributeBag();
271 $bag->setName('foo');
272
273 $storage = new MockArraySessionStorage();
274 $storage->registerBag($bag);
275
276 $this->assertSame($bag, (new Session($storage))->getBag('foo'));
277 }
278
279 public function testGetBagWithBagNotImplementingGetBag()
280 {
281 $data = [];
282
283 $bag = new AttributeBag();
284 $bag->setName('foo');
285
286 $storage = new MockArraySessionStorage();
287 $storage->registerBag(new SessionBagProxy($bag, $data, $usageIndex));
288
289 $this->assertSame($bag, (new Session($storage))->getBag('foo'));
290 }
291 }
292