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 / CookieTest.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
CookieTest.php
247 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\Cookie;
19
20 /**
21 * CookieTest.
22 *
23 * @author John Kary <john@johnkary.net>
24 * @author Hugo Hamon <hugo.hamon@sensio.com>
25 *
26 * @group time-sensitive
27 */
28 class CookieTest extends TestCase
29 {
30 public function namesWithSpecialCharacters()
31 {
32 return [
33 [',MyName'],
34 [';MyName'],
35 [' MyName'],
36 ["\tMyName"],
37 ["\rMyName"],
38 ["\nMyName"],
39 ["\013MyName"],
40 ["\014MyName"],
41 ];
42 }
43
44 /**
45 * @dataProvider namesWithSpecialCharacters
46 */
47 public function testInstantiationThrowsExceptionIfRawCookieNameContainsSpecialCharacters($name)
48 {
49 $this->expectException('InvalidArgumentException');
50 new Cookie($name, null, 0, null, null, null, false, true);
51 }
52
53 /**
54 * @dataProvider namesWithSpecialCharacters
55 */
56 public function testInstantiationSucceedNonRawCookieNameContainsSpecialCharacters($name)
57 {
58 $this->assertInstanceOf(Cookie::class, new Cookie($name));
59 }
60
61 public function testInstantiationThrowsExceptionIfCookieNameIsEmpty()
62 {
63 $this->expectException('InvalidArgumentException');
64 new Cookie('');
65 }
66
67 public function testInvalidExpiration()
68 {
69 $this->expectException('InvalidArgumentException');
70 new Cookie('MyCookie', 'foo', 'bar');
71 }
72
73 public function testNegativeExpirationIsNotPossible()
74 {
75 $cookie = new Cookie('foo', 'bar', -100);
76
77 $this->assertSame(0, $cookie->getExpiresTime());
78 }
79
80 public function testGetValue()
81 {
82 $value = 'MyValue';
83 $cookie = new Cookie('MyCookie', $value);
84
85 $this->assertSame($value, $cookie->getValue(), '->getValue() returns the proper value');
86 }
87
88 public function testGetPath()
89 {
90 $cookie = new Cookie('foo', 'bar');
91
92 $this->assertSame('/', $cookie->getPath(), '->getPath() returns / as the default path');
93 }
94
95 public function testGetExpiresTime()
96 {
97 $cookie = new Cookie('foo', 'bar');
98
99 $this->assertEquals(0, $cookie->getExpiresTime(), '->getExpiresTime() returns the default expire date');
100
101 $cookie = new Cookie('foo', 'bar', $expire = time() + 3600);
102
103 $this->assertEquals($expire, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
104 }
105
106 public function testGetExpiresTimeIsCastToInt()
107 {
108 $cookie = new Cookie('foo', 'bar', 3600.9);
109
110 $this->assertSame(3600, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date as an integer');
111 }
112
113 public function testConstructorWithDateTime()
114 {
115 $expire = new \DateTime();
116 $cookie = new Cookie('foo', 'bar', $expire);
117
118 $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
119 }
120
121 public function testConstructorWithDateTimeImmutable()
122 {
123 $expire = new \DateTimeImmutable();
124 $cookie = new Cookie('foo', 'bar', $expire);
125
126 $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
127 }
128
129 public function testGetExpiresTimeWithStringValue()
130 {
131 $value = '+1 day';
132 $cookie = new Cookie('foo', 'bar', $value);
133 $expire = strtotime($value);
134
135 $this->assertEqualsWithDelta($expire, $cookie->getExpiresTime(), 1, '->getExpiresTime() returns the expire date');
136 }
137
138 public function testGetDomain()
139 {
140 $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com');
141
142 $this->assertEquals('.myfoodomain.com', $cookie->getDomain(), '->getDomain() returns the domain name on which the cookie is valid');
143 }
144
145 public function testIsSecure()
146 {
147 $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com', true);
148
149 $this->assertTrue($cookie->isSecure(), '->isSecure() returns whether the cookie is transmitted over HTTPS');
150 }
151
152 public function testIsHttpOnly()
153 {
154 $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com', false, true);
155
156 $this->assertTrue($cookie->isHttpOnly(), '->isHttpOnly() returns whether the cookie is only transmitted over HTTP');
157 }
158
159 public function testCookieIsNotCleared()
160 {
161 $cookie = new Cookie('foo', 'bar', time() + 3600 * 24);
162
163 $this->assertFalse($cookie->isCleared(), '->isCleared() returns false if the cookie did not expire yet');
164 }
165
166 public function testCookieIsCleared()
167 {
168 $cookie = new Cookie('foo', 'bar', time() - 20);
169
170 $this->assertTrue($cookie->isCleared(), '->isCleared() returns true if the cookie has expired');
171
172 $cookie = new Cookie('foo', 'bar');
173
174 $this->assertFalse($cookie->isCleared());
175
176 $cookie = new Cookie('foo', 'bar', 0);
177
178 $this->assertFalse($cookie->isCleared());
179
180 $cookie = new Cookie('foo', 'bar', -1);
181
182 $this->assertFalse($cookie->isCleared());
183 }
184
185 public function testToString()
186 {
187 $cookie = new Cookie('foo', 'bar', $expire = strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true);
188 $this->assertEquals('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; Max-Age=0; path=/; domain=.myfoodomain.com; secure; httponly', (string) $cookie, '->__toString() returns string representation of the cookie');
189
190 $cookie = new Cookie('foo', 'bar with white spaces', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true);
191 $this->assertEquals('foo=bar%20with%20white%20spaces; expires=Fri, 20-May-2011 15:25:52 GMT; Max-Age=0; path=/; domain=.myfoodomain.com; secure; httponly', (string) $cookie, '->__toString() encodes the value of the cookie according to RFC 3986 (white space = %20)');
192
193 $cookie = new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com');
194 $this->assertEquals('foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', $expire = time() - 31536001).'; Max-Age=0; path=/admin/; domain=.myfoodomain.com; httponly', (string) $cookie, '->__toString() returns string representation of a cleared cookie if value is NULL');
195
196 $cookie = new Cookie('foo', 'bar', 0, '/', '');
197 $this->assertEquals('foo=bar; path=/; httponly', (string) $cookie);
198 }
199
200 public function testRawCookie()
201 {
202 $cookie = new Cookie('foo', 'b a r', 0, '/', null, false, false);
203 $this->assertFalse($cookie->isRaw());
204 $this->assertEquals('foo=b%20a%20r; path=/', (string) $cookie);
205
206 $cookie = new Cookie('foo', 'b+a+r', 0, '/', null, false, false, true);
207 $this->assertTrue($cookie->isRaw());
208 $this->assertEquals('foo=b+a+r; path=/', (string) $cookie);
209 }
210
211 public function testGetMaxAge()
212 {
213 $cookie = new Cookie('foo', 'bar');
214 $this->assertEquals(0, $cookie->getMaxAge());
215
216 $cookie = new Cookie('foo', 'bar', $expire = time() + 100);
217 $this->assertEquals($expire - time(), $cookie->getMaxAge());
218
219 $cookie = new Cookie('foo', 'bar', $expire = time() - 100);
220 $this->assertEquals(0, $cookie->getMaxAge());
221 }
222
223 public function testFromString()
224 {
225 $cookie = Cookie::fromString('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly');
226 $this->assertEquals(new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, true), $cookie);
227
228 $cookie = Cookie::fromString('foo=bar', true);
229 $this->assertEquals(new Cookie('foo', 'bar', 0, '/', null, false, false), $cookie);
230 }
231
232 public function testFromStringWithHttpOnly()
233 {
234 $cookie = Cookie::fromString('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly');
235 $this->assertTrue($cookie->isHttpOnly());
236
237 $cookie = Cookie::fromString('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure');
238 $this->assertFalse($cookie->isHttpOnly());
239 }
240
241 public function testSameSiteAttributeIsCaseInsensitive()
242 {
243 $cookie = new Cookie('foo', 'bar', 0, '/', null, false, true, false, 'Lax');
244 $this->assertEquals('lax', $cookie->getSameSite());
245 }
246 }
247