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 / HeaderBagTest.php
give / vendor / vendor-prefixed / symfony / http-foundation / Tests Last commit date
File 2 years ago Fixtures 2 years ago Session 2 years ago schema 2 years ago AcceptHeaderItemTest.php 2 years ago AcceptHeaderTest.php 2 years ago ApacheRequestTest.php 2 years ago BinaryFileResponseTest.php 2 years ago CookieTest.php 2 years ago ExpressionRequestMatcherTest.php 2 years ago FileBagTest.php 2 years ago HeaderBagTest.php 2 years ago IpUtilsTest.php 2 years ago JsonResponseTest.php 2 years ago ParameterBagTest.php 2 years ago RedirectResponseTest.php 2 years ago RequestMatcherTest.php 2 years ago RequestStackTest.php 2 years ago RequestTest.php 2 years ago ResponseFunctionalTest.php 2 years ago ResponseHeaderBagTest.php 2 years ago ResponseTest.php 2 years ago ResponseTestCase.php 2 years ago ServerBagTest.php 2 years ago StreamedResponseTest.php 2 years ago
HeaderBagTest.php
217 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;
16
17 use PHPUnit\Framework\TestCase;
18 use Give\Vendors\Symfony\Component\HttpFoundation\HeaderBag;
19
20 class HeaderBagTest extends TestCase
21 {
22 public function testConstructor()
23 {
24 $bag = new HeaderBag(['foo' => 'bar']);
25 $this->assertTrue($bag->has('foo'));
26 }
27
28 public function testToStringNull()
29 {
30 $bag = new HeaderBag();
31 $this->assertEquals('', $bag->__toString());
32 }
33
34 public function testToStringNotNull()
35 {
36 $bag = new HeaderBag(['foo' => 'bar']);
37 $this->assertEquals("Foo: bar\r\n", $bag->__toString());
38 }
39
40 public function testKeys()
41 {
42 $bag = new HeaderBag(['foo' => 'bar']);
43 $keys = $bag->keys();
44 $this->assertEquals('foo', $keys[0]);
45 }
46
47 public function testGetDate()
48 {
49 $bag = new HeaderBag(['foo' => 'Tue, 4 Sep 2012 20:00:00 +0200']);
50 $headerDate = $bag->getDate('foo');
51 $this->assertInstanceOf('DateTime', $headerDate);
52 }
53
54 public function testGetDateNull()
55 {
56 $bag = new HeaderBag(['foo' => null]);
57 $headerDate = $bag->getDate('foo');
58 $this->assertNull($headerDate);
59 }
60
61 public function testGetDateException()
62 {
63 $this->expectException('RuntimeException');
64 $bag = new HeaderBag(['foo' => 'Tue']);
65 $bag->getDate('foo');
66 }
67
68 public function testGetCacheControlHeader()
69 {
70 $bag = new HeaderBag();
71 $bag->addCacheControlDirective('public', '#a');
72 $this->assertTrue($bag->hasCacheControlDirective('public'));
73 $this->assertEquals('#a', $bag->getCacheControlDirective('public'));
74 }
75
76 public function testAll()
77 {
78 $bag = new HeaderBag(['foo' => 'bar']);
79 $this->assertEquals(['foo' => ['bar']], $bag->all(), '->all() gets all the input');
80
81 $bag = new HeaderBag(['FOO' => 'BAR']);
82 $this->assertEquals(['foo' => ['BAR']], $bag->all(), '->all() gets all the input key are lower case');
83 }
84
85 public function testReplace()
86 {
87 $bag = new HeaderBag(['foo' => 'bar']);
88
89 $bag->replace(['NOPE' => 'BAR']);
90 $this->assertEquals(['nope' => ['BAR']], $bag->all(), '->replace() replaces the input with the argument');
91 $this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
92 }
93
94 public function testGet()
95 {
96 $bag = new HeaderBag(['foo' => 'bar', 'fuzz' => 'bizz']);
97 $this->assertEquals('bar', $bag->get('foo'), '->get return current value');
98 $this->assertEquals('bar', $bag->get('FoO'), '->get key in case insensitive');
99 $this->assertEquals(['bar'], $bag->get('foo', 'nope', false), '->get return the value as array');
100
101 // defaults
102 $this->assertNull($bag->get('none'), '->get unknown values returns null');
103 $this->assertEquals('default', $bag->get('none', 'default'), '->get unknown values returns default');
104 $this->assertEquals(['default'], $bag->get('none', 'default', false), '->get unknown values returns default as array');
105
106 $bag->set('foo', 'bor', false);
107 $this->assertEquals('bar', $bag->get('foo'), '->get return first value');
108 $this->assertEquals(['bar', 'bor'], $bag->get('foo', 'nope', false), '->get return all values as array');
109
110 $bag->set('baz', null);
111 $this->assertNull($bag->get('baz', 'nope'), '->get return null although different default value is given');
112 }
113
114 public function testSetAssociativeArray()
115 {
116 $bag = new HeaderBag();
117 $bag->set('foo', ['bad-assoc-index' => 'value']);
118 $this->assertSame('value', $bag->get('foo'));
119 $this->assertEquals(['value'], $bag->get('foo', 'nope', false), 'assoc indices of multi-valued headers are ignored');
120 }
121
122 public function testContains()
123 {
124 $bag = new HeaderBag(['foo' => 'bar', 'fuzz' => 'bizz']);
125 $this->assertTrue($bag->contains('foo', 'bar'), '->contains first value');
126 $this->assertTrue($bag->contains('fuzz', 'bizz'), '->contains second value');
127 $this->assertFalse($bag->contains('nope', 'nope'), '->contains unknown value');
128 $this->assertFalse($bag->contains('foo', 'nope'), '->contains unknown value');
129
130 // Multiple values
131 $bag->set('foo', 'bor', false);
132 $this->assertTrue($bag->contains('foo', 'bar'), '->contains first value');
133 $this->assertTrue($bag->contains('foo', 'bor'), '->contains second value');
134 $this->assertFalse($bag->contains('foo', 'nope'), '->contains unknown value');
135 }
136
137 public function testCacheControlDirectiveAccessors()
138 {
139 $bag = new HeaderBag();
140 $bag->addCacheControlDirective('public');
141
142 $this->assertTrue($bag->hasCacheControlDirective('public'));
143 $this->assertTrue($bag->getCacheControlDirective('public'));
144 $this->assertEquals('public', $bag->get('cache-control'));
145
146 $bag->addCacheControlDirective('max-age', 10);
147 $this->assertTrue($bag->hasCacheControlDirective('max-age'));
148 $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
149 $this->assertEquals('max-age=10, public', $bag->get('cache-control'));
150
151 $bag->removeCacheControlDirective('max-age');
152 $this->assertFalse($bag->hasCacheControlDirective('max-age'));
153 }
154
155 public function testCacheControlDirectiveParsing()
156 {
157 $bag = new HeaderBag(['cache-control' => 'public, max-age=10']);
158 $this->assertTrue($bag->hasCacheControlDirective('public'));
159 $this->assertTrue($bag->getCacheControlDirective('public'));
160
161 $this->assertTrue($bag->hasCacheControlDirective('max-age'));
162 $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
163
164 $bag->addCacheControlDirective('s-maxage', 100);
165 $this->assertEquals('max-age=10, public, s-maxage=100', $bag->get('cache-control'));
166 }
167
168 public function testCacheControlDirectiveParsingQuotedZero()
169 {
170 $bag = new HeaderBag(['cache-control' => 'max-age="0"']);
171 $this->assertTrue($bag->hasCacheControlDirective('max-age'));
172 $this->assertEquals(0, $bag->getCacheControlDirective('max-age'));
173 }
174
175 public function testCacheControlDirectiveOverrideWithReplace()
176 {
177 $bag = new HeaderBag(['cache-control' => 'private, max-age=100']);
178 $bag->replace(['cache-control' => 'public, max-age=10']);
179 $this->assertTrue($bag->hasCacheControlDirective('public'));
180 $this->assertTrue($bag->getCacheControlDirective('public'));
181
182 $this->assertTrue($bag->hasCacheControlDirective('max-age'));
183 $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
184 }
185
186 public function testCacheControlClone()
187 {
188 $headers = ['foo' => 'bar'];
189 $bag1 = new HeaderBag($headers);
190 $bag2 = new HeaderBag($bag1->all());
191
192 $this->assertEquals($bag1->all(), $bag2->all());
193 }
194
195 public function testGetIterator()
196 {
197 $headers = ['foo' => 'bar', 'hello' => 'world', 'third' => 'charm'];
198 $headerBag = new HeaderBag($headers);
199
200 $i = 0;
201 foreach ($headerBag as $key => $val) {
202 ++$i;
203 $this->assertEquals([$headers[$key]], $val);
204 }
205
206 $this->assertEquals(\count($headers), $i);
207 }
208
209 public function testCount()
210 {
211 $headers = ['foo' => 'bar', 'HELLO' => 'WORLD'];
212 $headerBag = new HeaderBag($headers);
213
214 $this->assertCount(\count($headers), $headerBag);
215 }
216 }
217