‪TYPO3CMS  ‪main
UriTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
25 final class ‪UriTest extends UnitTestCase
26 {
27  #[Test]
28  public function ‪constructorSetsAllProperties(): void
29  {
30  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
31  self::assertEquals('https', $uri->getScheme());
32  self::assertEquals('user:pass', $uri->getUserInfo());
33  self::assertEquals('local.example.com', $uri->getHost());
34  self::assertEquals(3001, $uri->getPort());
35  self::assertEquals('user:pass@local.example.com:3001', $uri->getAuthority());
36  self::assertEquals('/foo', $uri->getPath());
37  self::assertEquals('bar=baz', $uri->getQuery());
38  self::assertEquals('quz', $uri->getFragment());
39  }
40 
41  public static function ‪canSerializeToStringDataProvider(): array
42  {
43  return [
44  'full uri' => [ 'https://user:pass@local.example.com:3001/foo?bar=baz#quz' ],
45  'double slash' => [ 'https://user:pass@local.example.com:3001//' ],
46  'websocket uri' => [ 'ws://user:pass@local.example.com:3001/foo?bar=baz#quz' ],
47  'secure websocket uri' => [ 'wss://user:pass@local.example.com:3001/foo?bar=baz#quz' ],
48  ];
49  }
50 
51  #[DataProvider('canSerializeToStringDataProvider')]
52  #[Test]
53  public function ‪canSerializeToString(string $uri): void
54  {
55  self::assertEquals($uri, (string)(new ‪Uri($uri)));
56  }
57 
58  #[Test]
60  {
61  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
62  $new = $uri->withScheme('http');
63  self::assertNotSame($uri, $new);
64  self::assertEquals('http', $new->getScheme());
65  self::assertEquals('http://user:pass@local.example.com:3001/foo?bar=baz#quz', (string)$new);
66  }
67 
68  #[Test]
70  {
71  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
72  $new = $uri->withUserInfo('matthew');
73  self::assertNotSame($uri, $new);
74  self::assertEquals('matthew', $new->getUserInfo());
75  self::assertEquals('https://matthew@local.example.com:3001/foo?bar=baz#quz', (string)$new);
76  }
77 
78  #[Test]
80  {
81  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
82  $new = $uri->withUserInfo('matthew', 'zf2');
83  self::assertNotSame($uri, $new);
84  self::assertEquals('matthew:zf2', $new->getUserInfo());
85  self::assertEquals('https://matthew:zf2@local.example.com:3001/foo?bar=baz#quz', (string)$new);
86  }
87 
88  #[Test]
90  {
91  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
92  $new = $uri->withHost('framework.zend.com');
93  self::assertNotSame($uri, $new);
94  self::assertEquals('framework.zend.com', $new->getHost());
95  self::assertEquals('https://user:pass@framework.zend.com:3001/foo?bar=baz#quz', (string)$new);
96  }
97 
98  #[Test]
100  {
101  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
102  $new = $uri->withPort(null);
103  self::assertEquals(
104  'https://user:pass@local.example.com/foo?bar=baz#quz',
105  (string)$new
106  );
107  }
108  public static function ‪validPortsDataProvider(): array
109  {
110  return [
111  'int 1' => [1],
112  'int 3000' => [3000],
113  'int 65535' => [65535],
114  ];
115  }
116 
117  #[DataProvider('validPortsDataProvider')]
118  #[Test]
120  {
121  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
122  $new = $uri->withPort($port);
123  self::assertNotSame($uri, $new);
124  self::assertEquals($port, $new->getPort());
125  self::assertEquals(
126  sprintf('https://user:pass@local.example.com:%d/foo?bar=baz#quz', $port),
127  (string)$new
128  );
129  }
130 
131  public static function ‪invalidPortsDataProviderRange(): array
132  {
133  return [
134  'zero' => [0],
135  'too-small' => [-1],
136  'too-big' => [65536],
137  ];
138  }
139 
140  #[DataProvider('invalidPortsDataProviderRange')]
141  #[Test]
143  {
144  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
145  $this->expectException(\InvalidArgumentException::class);
146  $this->expectExceptionCode(1436717326);
147  $uri->withPort($port);
148  }
149 
150  #[Test]
152  {
153  $subject = new ‪Uri('http://www.example.com:80');
154  self::assertEquals('http://www.example.com', (string)$subject);
155  }
156 
157  #[Test]
159  {
160  $subject = new ‪Uri('www.example.com:80');
161  self::assertEquals('//www.example.com:80', (string)$subject);
162  }
163 
164  #[Test]
166  {
167  $subject = new ‪Uri('www.example.com');
168  self::assertEquals('/www.example.com', (string)$subject);
169  }
170 
171  #[Test]
173  {
174  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
175  $new = $uri->withPath('/bar/baz');
176  self::assertNotSame($uri, $new);
177  self::assertEquals('/bar/baz', $new->getPath());
178  self::assertEquals('https://user:pass@local.example.com:3001/bar/baz?bar=baz#quz', (string)$new);
179  }
180 
181  #[Test]
183  {
184  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
185  $this->expectException(\InvalidArgumentException::class);
186  $this->expectExceptionCode(1436717330);
187  $uri->withPath('/bar/baz?bat=quz');
188  }
189 
190  #[Test]
192  {
193  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
194  $this->expectException(\InvalidArgumentException::class);
195  $this->expectExceptionCode(1436717332);
196  $uri->withPath('/bar/baz#bat');
197  }
198 
199  #[Test]
201  {
202  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
203  $new = $uri->withQuery('baz=bat');
204  self::assertNotSame($uri, $new);
205  self::assertEquals('baz=bat', $new->getQuery());
206  self::assertEquals('https://user:pass@local.example.com:3001/foo?baz=bat#quz', (string)$new);
207  }
208 
209  #[Test]
211  {
212  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
213  $this->expectException(\InvalidArgumentException::class);
214  $this->expectExceptionCode(1436717336);
215  $uri->withQuery('baz=bat#quz');
216  }
217 
218  #[Test]
220  {
221  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
222  $new = $uri->withFragment('qat');
223  self::assertNotSame($uri, $new);
224  self::assertEquals('qat', $new->getFragment());
225  self::assertEquals('https://user:pass@local.example.com:3001/foo?bar=baz#qat', (string)$new);
226  }
227 
228  public static function ‪authorityInfoDataProvider(): array
229  {
230  return [
231  'host-only' => ['http://foo.com/bar', 'foo.com'],
232  'host-port' => ['http://foo.com:3000/bar', 'foo.com:3000'],
233  'user-host' => ['http://me@foo.com/bar', 'me@foo.com'],
234  'user-host-port' => ['http://me@foo.com:3000/bar', 'me@foo.com:3000'],
235  ];
236  }
237 
238  #[DataProvider('authorityInfoDataProvider')]
239  #[Test]
240  public function ‪getAuthorityReturnsExpectedValues(‪$url, $expected): void
241  {
242  $uri = new ‪Uri(‪$url);
243  self::assertEquals($expected, $uri->getAuthority());
244  }
245 
246  #[Test]
247  public function ‪canEmitOriginFormUrl(): void
248  {
249  ‪$url = '/foo/bar?baz=bat';
250  $uri = new ‪Uri(‪$url);
251  self::assertEquals(‪$url, (string)$uri);
252  }
253 
254  #[Test]
256  {
257  $uri = new ‪Uri('http://example.com/foo');
258  $new = $uri->withPath('');
259  self::assertEquals('', $new->getPath());
260  }
261 
262  #[Test]
264  {
265  $uri = new ‪Uri('http://example.com');
266  self::assertEquals('http://example.com', (string)$uri);
267  }
268 
269  #[Test]
271  {
272  $uri = new ‪Uri('?foo=bar');
273  self::assertEquals('', $uri->getPath());
274  }
275 
276  #[Test]
278  {
279  $uri = new ‪Uri('?foo=bar');
280  self::assertEquals('?foo=bar', (string)$uri);
281  }
282 
283  public static function ‪invalidConstructorUrisDataProvider(): array
284  {
285  return [
286  'null' => [null],
287  'true' => [true],
288  'false' => [false],
289  'int' => [1],
290  'float' => [1.1],
291  'array' => [['http://example.com/']],
292  'object' => [(object)['uri' => 'http://example.com/']],
293  ];
294  }
295 
296  #[DataProvider('invalidConstructorUrisDataProvider')]
298  {
299  $this->expectException(\InvalidArgumentException::class);
300  new ‪Uri($uri);
301  }
302 
303  #[Test]
305  {
306  $this->expectException(\InvalidArgumentException::class);
307  new ‪Uri('http:///www.php-fig.org/');
308  }
309 
310  #[Test]
311  public function ‪withSchemeStripsOffDelimiter(): void
312  {
313  $uri = new ‪Uri('http://example.com');
314  $new = $uri->withScheme('https://');
315  self::assertEquals('https', $new->getScheme());
316  }
317 
318  public static function ‪invalidSchemesDataProvider(): array
319  {
320  return [
321  'mailto' => ['mailto'],
322  'ftp' => ['ftp'],
323  'telnet' => ['telnet'],
324  'ssh' => ['ssh'],
325  'git' => ['git'],
326  ];
327  }
328 
329  #[DataProvider('invalidSchemesDataProvider')]
330  #[Test]
332  {
333  $this->expectException(\InvalidArgumentException::class);
334  $this->expectExceptionCode(1436717338);
335  new ‪Uri($scheme . '://example.com');
336  }
337 
338  #[DataProvider('invalidSchemesDataProvider')]
339  #[Test]
341  {
342  $uri = new ‪Uri('http://example.com');
343  $this->expectException(\InvalidArgumentException::class);
344  $this->expectExceptionCode(1436717338);
345  $uri->withScheme($scheme);
346  }
347 
348  #[Test]
350  {
351  $uri = new ‪Uri('http://example.com');
352  $new = $uri->withPath('foo/bar');
353  self::assertEquals('foo/bar', $new->getPath());
354  }
355 
356  #[Test]
358  {
359  $uri = new ‪Uri('https://user:pass@local.example.com:3001/foo?bar=baz#quz');
360  $new = $uri->withScheme('');
361  self::assertNotSame($uri, $new);
362  self::assertNotSame((string)$uri, (string)$new);
363  self::assertEquals('', $new->getScheme());
364  self::assertEquals('//user:pass@local.example.com:3001/foo?bar=baz#quz', (string)$new);
365  }
366 
367  #[Test]
369  {
370  $uri = new ‪Uri('http://example.com');
371  $new = $uri->withPath('foo/bar');
372  self::assertEquals('http://example.com/foo/bar', $new->__toString());
373  }
374 
375  #[Test]
377  {
378  $uri = new ‪Uri('http://example.com');
379  $new = $uri->withQuery('?foo=bar');
380  self::assertEquals('foo=bar', $new->getQuery());
381  }
382 
383  #[Test]
385  {
386  $uri = new ‪Uri('http://example.com');
387  $new = $uri->withFragment('#/foo/bar');
388  self::assertEquals('/foo/bar', $new->getFragment());
389  }
390 
391  public static function ‪standardSchemePortCombinationsDataProvider(): array
392  {
393  return [
394  'http' => ['http', 80],
395  'https' => ['https', 443],
396  ];
397  }
398 
399  #[DataProvider('standardSchemePortCombinationsDataProvider')]
400  #[Test]
401  public function ‪getAuthorityOmitsPortForStandardSchemePortCombinations($scheme, $port): void
402  {
403  $uri = (new ‪Uri())
404  ->withHost('example.com')
405  ->withScheme($scheme)
406  ->withPort($port);
407  self::assertEquals('example.com', $uri->getAuthority());
408  }
409 
410  #[Test]
411  public function ‪getPathIsProperlyEncoded(): void
412  {
413  $uri = (new ‪Uri())->withPath('/foo^bar');
414  $expected = '/foo%5Ebar';
415  self::assertEquals($expected, $uri->getPath());
416  }
417 
418  #[Test]
419  public function ‪getPathDoesNotBecomeDoubleEncoded(): void
420  {
421  $uri = (new ‪Uri())->withPath('/foo%5Ebar');
422  $expected = '/foo%5Ebar';
423  self::assertEquals($expected, $uri->getPath());
424  }
425 
426  public static function ‪queryStringsForEncodingDataProvider(): array
427  {
428  return [
429  'key-only' => ['k^ey', 'k%5Eey'],
430  'key-value' => ['k^ey=valu`', 'k%5Eey=valu%60'],
431  'array-key-only' => ['key[]', 'key%5B%5D'],
432  'array-key-value' => ['key[]=valu`', 'key%5B%5D=valu%60'],
433  'complex' => ['k^ey&key[]=valu`&f<>=`bar', 'k%5Eey&key%5B%5D=valu%60&f%3C%3E=%60bar'],
434  ];
435  }
436 
437  #[DataProvider('queryStringsForEncodingDataProvider')]
438  #[Test]
439  public function ‪getQueryIsProperlyEncoded($query, $expected): void
440  {
441  $uri = (new ‪Uri())->withQuery($query);
442  self::assertEquals($expected, $uri->getQuery());
443  }
444 
445  #[DataProvider('queryStringsForEncodingDataProvider')]
446  #[Test]
447  public function ‪getQueryIsNotDoubleEncoded($query, $expected): void
448  {
449  $uri = (new ‪Uri())->withQuery($expected);
450  self::assertEquals($expected, $uri->getQuery());
451  }
452 
453  #[Test]
454  public function ‪getFragmentIsProperlyEncoded(): void
455  {
456  $uri = (new ‪Uri())->withFragment('/p^th?key^=`bar#b@z');
457  $expected = '/p%5Eth?key%5E=%60bar%23b@z';
458  self::assertEquals($expected, $uri->getFragment());
459  }
460 
461  #[Test]
462  public function ‪getFragmentIsNotDoubleEncoded(): void
463  {
464  $expected = '/p%5Eth?key%5E=%60bar%23b@z';
465  $uri = (new ‪Uri())->withFragment($expected);
466  self::assertEquals($expected, $uri->getFragment());
467  }
468 }
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\settingEmptyPathOnAbsoluteUriReturnsAnEmptyPath
‪settingEmptyPathOnAbsoluteUriReturnsAnEmptyPath()
Definition: UriTest.php:255
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\invalidSchemesDataProvider
‪static invalidSchemesDataProvider()
Definition: UriTest.php:318
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withHostReturnsNewInstanceWithProvidedHost
‪withHostReturnsNewInstanceWithProvidedHost()
Definition: UriTest.php:89
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPathRaisesExceptionForInvalidPathsWithQuery
‪withPathRaisesExceptionForInvalidPathsWithQuery()
Definition: UriTest.php:182
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withFragmentStripsFragmentPrefixIfPresent
‪withFragmentStripsFragmentPrefixIfPresent()
Definition: UriTest.php:384
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPathIsNotPrefixedWithSlashIfSetWithoutOne
‪withPathIsNotPrefixedWithSlashIfSetWithoutOne()
Definition: UriTest.php:349
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\invalidConstructorUrisDataProvider
‪static invalidConstructorUrisDataProvider()
Definition: UriTest.php:283
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getFragmentIsProperlyEncoded
‪getFragmentIsProperlyEncoded()
Definition: UriTest.php:454
‪TYPO3\CMS\Core\Tests\Unit\Http
Definition: ApplicationTypeTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\noPortAndNoSchemeDoesNotRenderPort
‪noPortAndNoSchemeDoesNotRenderPort()
Definition: UriTest.php:165
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withSchemeUsingUnsupportedSchemeRaisesAnException
‪withSchemeUsingUnsupportedSchemeRaisesAnException($scheme)
Definition: UriTest.php:340
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\standardSchemePortCombinationsDataProvider
‪static standardSchemePortCombinationsDataProvider()
Definition: UriTest.php:391
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\canEmitOriginFormUrl
‪canEmitOriginFormUrl()
Definition: UriTest.php:247
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\invalidPortsDataProviderRange
‪static invalidPortsDataProviderRange()
Definition: UriTest.php:131
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPathReturnsNewInstanceWithProvidedPath
‪withPathReturnsNewInstanceWithProvidedPath()
Definition: UriTest.php:172
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getQueryIsProperlyEncoded
‪getQueryIsProperlyEncoded($query, $expected)
Definition: UriTest.php:439
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\standardPortAndSchemeDoesNotRenderPort
‪standardPortAndSchemeDoesNotRenderPort()
Definition: UriTest.php:151
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\constructorRaisesExceptionForSeriouslyMalformedURI
‪constructorRaisesExceptionForSeriouslyMalformedURI()
Definition: UriTest.php:304
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\constructorRaisesExceptionForNonStringURI
‪constructorRaisesExceptionForNonStringURI($uri)
Definition: UriTest.php:297
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getPathIsProperlyEncoded
‪getPathIsProperlyEncoded()
Definition: UriTest.php:411
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\stringRepresentationOfOriginFormWithNoPathRetainsEmptyPath
‪stringRepresentationOfOriginFormWithNoPathRetainsEmptyPath()
Definition: UriTest.php:277
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withSchemeReturnsNewInstanceWithNewScheme
‪withSchemeReturnsNewInstanceWithNewScheme()
Definition: UriTest.php:59
‪TYPO3\CMS\Core\Http\Uri
Definition: Uri.php:30
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withSchemeStripsOffDelimiter
‪withSchemeStripsOffDelimiter()
Definition: UriTest.php:311
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getAuthorityReturnsExpectedValues
‪getAuthorityReturnsExpectedValues($url, $expected)
Definition: UriTest.php:240
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getQueryIsNotDoubleEncoded
‪getQueryIsNotDoubleEncoded($query, $expected)
Definition: UriTest.php:447
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPathNotSlashPrefixedIsEmittedWithSlashDelimiterWhenUriIsCastToString
‪withPathNotSlashPrefixedIsEmittedWithSlashDelimiterWhenUriIsCastToString()
Definition: UriTest.php:368
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\canSerializeToString
‪canSerializeToString(string $uri)
Definition: UriTest.php:53
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\authorityInfoDataProvider
‪static authorityInfoDataProvider()
Definition: UriTest.php:228
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPathRaisesExceptionForInvalidPathsWithFragment
‪withPathRaisesExceptionForInvalidPathsWithFragment()
Definition: UriTest.php:191
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getPathOnOriginFormRemainsAnEmptyPath
‪getPathOnOriginFormRemainsAnEmptyPath()
Definition: UriTest.php:270
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\canSerializeToStringDataProvider
‪static canSerializeToStringDataProvider()
Definition: UriTest.php:41
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\standardPortAndNoSchemeDoesRenderPort
‪standardPortAndNoSchemeDoesRenderPort()
Definition: UriTest.php:158
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getAuthorityOmitsPortForStandardSchemePortCombinations
‪getAuthorityOmitsPortForStandardSchemePortCombinations($scheme, $port)
Definition: UriTest.php:401
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\constructorSetsAllProperties
‪constructorSetsAllProperties()
Definition: UriTest.php:28
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withQueryRaisesExceptionForInvalidQueryStringsByFragment
‪withQueryRaisesExceptionForInvalidQueryStringsByFragment()
Definition: UriTest.php:210
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\queryStringsForEncodingDataProvider
‪static queryStringsForEncodingDataProvider()
Definition: UriTest.php:426
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getPathDoesNotBecomeDoubleEncoded
‪getPathDoesNotBecomeDoubleEncoded()
Definition: UriTest.php:419
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withEmptySchemeReturnsNewInstanceWithAbsoluteUri
‪withEmptySchemeReturnsNewInstanceWithAbsoluteUri()
Definition: UriTest.php:357
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\getFragmentIsNotDoubleEncoded
‪getFragmentIsNotDoubleEncoded()
Definition: UriTest.php:462
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withUserInfoReturnsNewInstanceWithProvidedUserAndPassword
‪withUserInfoReturnsNewInstanceWithProvidedUserAndPassword()
Definition: UriTest.php:79
‪TYPO3\CMS\Webhooks\Message\$url
‪identifier readonly UriInterface $url
Definition: LoginErrorOccurredMessage.php:36
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\stringRepresentationOfAbsoluteUriWithNoPathSetsAnEmptyPath
‪stringRepresentationOfAbsoluteUriWithNoPathSetsAnEmptyPath()
Definition: UriTest.php:263
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\validPortsDataProvider
‪static validPortsDataProvider()
Definition: UriTest.php:108
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPortRaisesExceptionForInvalidPortsByRange
‪withPortRaisesExceptionForInvalidPortsByRange($port)
Definition: UriTest.php:142
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withQueryReturnsNewInstanceWithProvidedQuery
‪withQueryReturnsNewInstanceWithProvidedQuery()
Definition: UriTest.php:200
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPortAndNullValueReturnsInstanceWithProvidedPort
‪withPortAndNullValueReturnsInstanceWithProvidedPort()
Definition: UriTest.php:99
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withQueryStripsQueryPrefixIfPresent
‪withQueryStripsQueryPrefixIfPresent()
Definition: UriTest.php:376
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withUserInfoReturnsNewInstanceWithProvidedUser
‪withUserInfoReturnsNewInstanceWithProvidedUser()
Definition: UriTest.php:69
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withPortReturnsNewInstanceWithProvidedPort
‪withPortReturnsNewInstanceWithProvidedPort($port)
Definition: UriTest.php:119
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\withFragmentReturnsNewInstanceWithProvidedFragment
‪withFragmentReturnsNewInstanceWithProvidedFragment()
Definition: UriTest.php:219
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest
Definition: UriTest.php:26
‪TYPO3\CMS\Core\Tests\Unit\Http\UriTest\constructWithUnsupportedSchemeRaisesAnException
‪constructWithUnsupportedSchemeRaisesAnException($scheme)
Definition: UriTest.php:331