‪TYPO3CMS  10.4
UriBuilderTest.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 
37 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
38 
42 class ‪UriBuilderTest extends UnitTestCase
43 {
47  protected ‪$resetSingletonInstances = true;
48 
52  protected ‪$backupEnvironment = true;
53 
58 
63 
67  protected ‪$mockRequest;
68 
72  protected ‪$mockExtensionService;
73 
77  protected ‪$uriBuilder;
78 
83  protected function ‪setUp(): void
84  {
85  parent::setUp();
86  ‪$GLOBALS['TSFE'] = $this->createMock(TypoScriptFrontendController::class);
87  $this->mockContentObject = $this->createMock(ContentObjectRenderer::class);
88  $this->mockRequest = $this->createMock(Request::class);
89  $this->mockExtensionService = $this->createMock(ExtensionService::class);
90  $this->mockConfigurationManager = $this->createMock(ConfigurationManagerInterface::class);
91  $this->uriBuilder = $this->getAccessibleMock(UriBuilder::class, ['build']);
92  $this->uriBuilder->setRequest($this->mockRequest);
93  $this->uriBuilder->_set('contentObject', $this->mockContentObject);
94  $this->uriBuilder->_set('configurationManager', $this->mockConfigurationManager);
95  $this->uriBuilder->_set('extensionService', $this->mockExtensionService);
96  $this->uriBuilder->_set('environmentService', $this->createMock(EnvironmentService::class));
97  $router = GeneralUtility::makeInstance(Router::class);
98  $router->addRoute('module_key', new ‪Route('/test/Path', []));
99  $router->addRoute('module_key2', new ‪Route('/test/Path2', []));
100  $router->addRoute('', new ‪Route('', []));
101  }
102 
106  public function ‪settersAndGettersWorkAsExpected()
107  {
108  $this->uriBuilder
109  ->reset()
110  ->setArguments(['test' => 'arguments'])
111  ->setSection('testSection')
112  ->setFormat('testFormat')
113  ->setCreateAbsoluteUri(true)
114  ->setAbsoluteUriScheme('https')
115  ->setAddQueryString(true)
116  ->setArgumentsToBeExcludedFromQueryString(['test' => 'addQueryStringExcludeArguments'])
117  ->setAddQueryStringMethod('GET')
118  ->setArgumentPrefix('testArgumentPrefix')
119  ->setLinkAccessRestrictedPages(true)
120  ->setTargetPageUid(123)
121  ->setTargetPageType(321)
122  ->setNoCache(true);
123  self::assertEquals(['test' => 'arguments'], $this->uriBuilder->getArguments());
124  self::assertEquals('testSection', $this->uriBuilder->getSection());
125  self::assertEquals('testFormat', $this->uriBuilder->getFormat());
126  self::assertTrue($this->uriBuilder->getCreateAbsoluteUri());
127  self::assertEquals('https', $this->uriBuilder->getAbsoluteUriScheme());
128  self::assertTrue($this->uriBuilder->getAddQueryString());
129  self::assertEquals(['test' => 'addQueryStringExcludeArguments'], $this->uriBuilder->getArgumentsToBeExcludedFromQueryString());
130  self::assertEquals('GET', $this->uriBuilder->getAddQueryStringMethod());
131  self::assertEquals('testArgumentPrefix', $this->uriBuilder->getArgumentPrefix());
132  self::assertTrue($this->uriBuilder->getLinkAccessRestrictedPages());
133  self::assertEquals(123, $this->uriBuilder->getTargetPageUid());
134  self::assertEquals(321, $this->uriBuilder->getTargetPageType());
135  self::assertTrue($this->uriBuilder->getNoCache());
136  }
137 
142  {
143  $this->mockExtensionService->expects(self::once())->method('getPluginNamespace')->willReturn('tx_someextension_someplugin');
144  $expectedArguments = ['tx_someextension_someplugin' => ['foo' => 'bar', 'baz' => ['extbase' => 'fluid'], 'controller' => 'SomeController']];
145  ‪$GLOBALS['TSFE'] = null;
146  $this->uriBuilder->uriFor(null, ['foo' => 'bar', 'baz' => ['extbase' => 'fluid']], 'SomeController', 'SomeExtension', 'SomePlugin');
147  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
148  }
149 
154  {
155  $this->mockExtensionService->expects(self::once())->method('getPluginNamespace')->willReturn('tx_someextension_someplugin');
156  $arguments = ['tx_someextension_someplugin' => ['foo' => 'bar'], 'additionalParam' => 'additionalValue'];
157  $controllerArguments = ['foo' => 'overruled', 'baz' => ['extbase' => 'fluid']];
158  $expectedArguments = ['tx_someextension_someplugin' => ['foo' => 'overruled', 'baz' => ['extbase' => 'fluid'], 'controller' => 'SomeController'], 'additionalParam' => 'additionalValue'];
159  $this->uriBuilder->setArguments($arguments);
160  $this->uriBuilder->uriFor(null, $controllerArguments, 'SomeController', 'SomeExtension', 'SomePlugin');
161  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
162  }
163 
168  {
169  $this->mockExtensionService->expects(self::once())->method('getPluginNamespace')->willReturn('tx_someextension_someplugin');
170  $expectedArguments = ['tx_someextension_someplugin' => ['controller' => 'SomeController']];
171  $this->uriBuilder->uriFor(null, [], 'SomeController', 'SomeExtension', 'SomePlugin');
172  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
173  }
174 
179  {
180  $this->mockExtensionService->expects(self::once())->method('getPluginNamespace')->willReturn('tx_someextension_someplugin');
181  $this->mockRequest->expects(self::once())->method('getControllerName')->willReturn('SomeControllerFromRequest');
182  $expectedArguments = ['tx_someextension_someplugin' => ['controller' => 'SomeControllerFromRequest']];
183  $this->uriBuilder->uriFor(null, [], null, 'SomeExtension', 'SomePlugin');
184  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
185  }
186 
191  {
192  $this->mockExtensionService->expects(self::any())->method('getPluginNamespace')->willReturn('tx_someextensionnamefromrequest_someplugin');
193  $this->mockRequest->expects(self::once())->method('getControllerExtensionName')->willReturn('SomeExtensionNameFromRequest');
194  $expectedArguments = ['tx_someextensionnamefromrequest_someplugin' => ['controller' => 'SomeController']];
195  $this->uriBuilder->uriFor(null, [], 'SomeController', null, 'SomePlugin');
196  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
197  }
198 
203  {
204  $this->mockExtensionService->expects(self::once())->method('getPluginNamespace')->willReturn('tx_someextension_somepluginnamefromrequest');
205  $this->mockRequest->expects(self::once())->method('getPluginName')->willReturn('SomePluginNameFromRequest');
206  $expectedArguments = ['tx_someextension_somepluginnamefromrequest' => ['controller' => 'SomeController']];
207  $this->uriBuilder->uriFor(null, [], 'SomeController', 'SomeExtension');
208  self::assertEquals($expectedArguments, $this->uriBuilder->getArguments());
209  }
210 
215  {
216  $_GET['route'] = '/test/Path';
217  $_GET['id'] = 'pageId';
218  $_GET['foo'] = 'bar';
219  $_POST = [];
220  $this->uriBuilder->setAddQueryString(true);
221  $this->uriBuilder->setAddQueryStringMethod('GET');
222  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken&id=pageId&foo=bar';
223  $actualResult = $this->uriBuilder->buildBackendUri();
224  self::assertEquals($expectedResult, $actualResult);
225  }
226 
231  {
232  $_GET['route'] = '/test/Path';
233  $_GET['id'] = 'pageId';
234  $_GET['foo'] = 'bar';
235  $_POST = [];
236  $_POST['foo2'] = 'bar2';
237  $this->uriBuilder->setAddQueryString(true);
238  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken&id=pageId&foo=bar';
239  $actualResult = $this->uriBuilder->buildBackendUri();
240  self::assertEquals($expectedResult, $actualResult);
241  }
242 
247  {
248  return [
249  'Arguments to be excluded in the beginning' => [
250  [
251  'route' => '/test/Path',
252  'id' => 'pageId',
253  'foo' => 'bar'
254  ],
255  [
256  'route',
257  'id'
258  ],
259  '/typo3/index.php?route=%2F&token=dummyToken&foo=bar'
260  ],
261  'Arguments to be excluded in the end' => [
262  [
263  'foo' => 'bar',
264  'id' => 'pageId',
265  'route' => '/test/Path'
266  ],
267  [
268  'route',
269  'id'
270  ],
271  '/typo3/index.php?route=%2F&token=dummyToken&foo=bar'
272  ],
273  'Arguments in nested array to be excluded' => [
274  [
275  'tx_foo' => [
276  'bar' => 'baz'
277  ],
278  'id' => 'pageId',
279  'route' => '/test/Path'
280  ],
281  [
282  'id',
283  'tx_foo[bar]'
284  ],
285  '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken'
286  ],
287  'Arguments in multidimensional array to be excluded' => [
288  [
289  'tx_foo' => [
290  'bar' => [
291  'baz' => 'bay'
292  ]
293  ],
294  'id' => 'pageId',
295  'route' => '/test/Path'
296  ],
297  [
298  'id',
299  'tx_foo[bar][baz]'
300  ],
301  '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken'
302  ],
303  ];
304  }
305 
313  public function ‪buildBackendUriRemovesSpecifiedQueryParametersIfArgumentsToBeExcludedFromQueryStringIsSet(array $parameters, array $excluded, $expected)
314  {
315  $_GET = array_replace_recursive($_GET, $parameters);
316  $this->uriBuilder->setAddQueryString(true);
317  $this->uriBuilder->setAddQueryStringMethod('GET');
318  $this->uriBuilder->setArgumentsToBeExcludedFromQueryString($excluded);
319  $actualResult = $this->uriBuilder->buildBackendUri();
320  self::assertEquals($expected, $actualResult);
321  }
322 
327  {
328  $_GET = (['route' => '/test/Path', 'id' => 'pageId', 'foo' => 'bar']);
329  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken&id=pageId';
330  $actualResult = $this->uriBuilder->buildBackendUri();
331  self::assertEquals($expectedResult, $actualResult);
332  }
333 
338  {
339  $_GET = ['route' => '/test/Path', 'id' => 'pageId', 'foo' => 'bar'];
340  $this->uriBuilder->setArguments(['route' => '/test/Path2', 'somePrefix' => ['bar' => 'baz']]);
341  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath2&token=dummyToken&id=pageId&somePrefix%5Bbar%5D=baz';
342  $actualResult = $this->uriBuilder->buildBackendUri();
343  self::assertEquals($expectedResult, $actualResult);
344  }
345 
350  {
351  $_GET['route'] = '/test/Path';
352  $mockDomainObject = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
353  $mockDomainObject->_set('uid', '123');
354  $this->uriBuilder->setArguments(['somePrefix' => ['someDomainObject' => $mockDomainObject]]);
355  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken&somePrefix%5BsomeDomainObject%5D=123';
356  $actualResult = $this->uriBuilder->buildBackendUri();
357  self::assertEquals($expectedResult, $actualResult);
358  }
359 
363  public function ‪buildBackendUriRespectsSection()
364  {
365  $_GET['route'] = '/test/Path';
366  $this->uriBuilder->setSection('someSection');
367  $expectedResult = '/typo3/index.php?route=%2Ftest%2FPath&token=dummyToken#someSection';
368  $actualResult = $this->uriBuilder->buildBackendUri();
369  self::assertEquals($expectedResult, $actualResult);
370  }
371 
376  {
377  $_GET['route'] = '/test/Path';
378  $_SERVER['HTTP_HOST'] = 'baseuri';
379  $_SERVER['SCRIPT_NAME'] = '/index.php';
380  $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
381  $this->mockRequest->expects(self::any())->method('getBaseUri')->willReturn('http://baseuri');
382  $this->uriBuilder->setCreateAbsoluteUri(true);
383  $expectedResult = 'http://baseuri/' . TYPO3_mainDir . 'index.php?route=%2Ftest%2FPath&token=dummyToken';
384  $actualResult = $this->uriBuilder->buildBackendUri();
385  self::assertSame($expectedResult, $actualResult);
386  }
387 
392  {
395  true,
396  false,
401  ‪Environment::getBackendPath() . '/index.php',
402  ‪Environment::isWindows() ? 'WINDOWS' : 'UNIX'
403  );
404  $_GET['route'] = '/test/Path';
405  $_SERVER['HTTP_HOST'] = 'baseuri';
406  $_SERVER['SCRIPT_NAME'] = '/typo3/index.php';
407  $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
408  $this->mockRequest->expects(self::any())->method('getBaseUri')->willReturn('http://baseuri');
409  $this->uriBuilder->setCreateAbsoluteUri(true);
410  $expectedResult = 'http://baseuri/' . TYPO3_mainDir . 'index.php?route=%2Ftest%2FPath&token=dummyToken';
411  $actualResult = $this->uriBuilder->buildBackendUri();
412  self::assertSame($expectedResult, $actualResult);
413  }
414 
418  public function ‪buildUriDataProvider(): array
419  {
420  $uriPrefix = '/typo3/index.php?route=%2Ftest%2FPath';
421 
422  return [
423  'GET,POST' => [
424  'GET,POST',
425  'Assigning addQueryStringMethod = GET,POST or POST,GET is not supported anymore since TYPO3 v10.0 - falling back to GET',
426  $uriPrefix . '&common=GET&get=GET'
427  ],
428  'POST,GET' => [
429  'POST,GET',
430  'Assigning addQueryStringMethod = GET,POST or POST,GET is not supported anymore since TYPO3 v10.0 - falling back to GET',
431  $uriPrefix . '&common=GET&get=GET'
432  ],
433  'POST' => [
434  'POST',
435  'Assigning addQueryStringMethod = POST is not supported anymore since TYPO3 v10.0',
436  $uriPrefix
437  ],
438  ];
439  }
440 
449  public function ‪buildBackendUriHandlesRemovedMethods(string $method, string $expectedMessage, string $expectedResult): void
450  {
451  $_GET = ['common' => 'GET', 'get' => 'GET', 'route' => '/test/Path'];
452  $this->expectWarning();
453  $this->expectExceptionMessage($expectedMessage);
454  $this->uriBuilder->setAddQueryStringMethod($method);
455  self::assertSame($expectedResult, $this->uriBuilder->buildFrontendUri());
456  }
457 
464  private function ‪rawUrlEncodeSquareBracketsInUrl($string)
465  {
466  return str_replace(['[', ']'], ['%5B', '%5D'], $string);
467  }
468 
472  public function ‪buildFrontendUriCreatesTypoLink()
473  {
475  ‪$uriBuilder = $this->getAccessibleMock(UriBuilder::class, ['buildTypolinkConfiguration']);
476  ‪$uriBuilder->_set('contentObject', $this->mockContentObject);
477  ‪$uriBuilder->expects(self::once())->method('buildTypolinkConfiguration')->willReturn(['someTypoLinkConfiguration']);
478  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->with(['someTypoLinkConfiguration']);
480  }
481 
486  {
487  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->willReturn('relative/uri');
488  $expectedResult = 'relative/uri';
489  $actualResult = $this->uriBuilder->buildFrontendUri();
490  self::assertSame($expectedResult, $actualResult);
491  }
492 
497  {
498  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->willReturn('/relative/uri');
499  $expectedResult = '/relative/uri';
500  $actualResult = $this->uriBuilder->buildFrontendUri();
501  self::assertSame($expectedResult, $actualResult);
502  }
503 
508  {
510  ‪$uriBuilder = $this->getAccessibleMock(UriBuilder::class, ['buildTypolinkConfiguration']);
511  ‪$uriBuilder->_set('contentObject', $this->mockContentObject);
512  ‪$uriBuilder->expects(self::once())->method('buildTypolinkConfiguration')->willReturn(['foo' => 'bar']);
513  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->with(['foo' => 'bar', 'forceAbsoluteUrl' => true])->willReturn('http://baseuri/relative/uri');
515  $expectedResult = 'http://baseuri/relative/uri';
517  self::assertSame($expectedResult, $actualResult);
518  }
519 
524  {
526  ‪$uriBuilder = $this->getAccessibleMock(UriBuilder::class, ['buildTypolinkConfiguration']);
527  ‪$uriBuilder->_set('contentObject', $this->mockContentObject);
528  ‪$uriBuilder->expects(self::once())->method('buildTypolinkConfiguration')->willReturn(['foo' => 'bar']);
529  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->with(['foo' => 'bar', 'forceAbsoluteUrl' => true, 'forceAbsoluteUrl.' => ['scheme' => 'someScheme']])->willReturn('http://baseuri/relative/uri');
532  $expectedResult = 'http://baseuri/relative/uri';
534  self::assertSame($expectedResult, $actualResult);
535  }
536 
541  {
543  ‪$uriBuilder = $this->getAccessibleMock(UriBuilder::class, ['buildTypolinkConfiguration']);
544  ‪$uriBuilder->_set('contentObject', $this->mockContentObject);
545  ‪$uriBuilder->expects(self::once())->method('buildTypolinkConfiguration')->willReturn(['foo' => 'bar']);
546  $this->mockContentObject->expects(self::once())->method('typoLink_URL')->with(['foo' => 'bar'])->willReturn('http://baseuri/relative/uri');
549  $expectedResult = 'http://baseuri/relative/uri';
551  self::assertSame($expectedResult, $actualResult);
552  }
553 
558  {
559  $this->uriBuilder
560  ->setArguments(['test' => 'arguments'])
561  ->setSection('testSection')
562  ->setFormat('someFormat')
563  ->setCreateAbsoluteUri(true)
564  ->setAddQueryString(true)
565  ->setAddQueryStringMethod('test')
566  ->setArgumentsToBeExcludedFromQueryString(['test' => 'addQueryStringExcludeArguments'])
567  ->setLinkAccessRestrictedPages(true)
568  ->setTargetPageUid(123)
569  ->setTargetPageType(321)
570  ->setNoCache(true)
571  ->setArgumentPrefix('testArgumentPrefix')
572  ->setAbsoluteUriScheme('test')
573  ;
574 
575  $this->uriBuilder->reset();
576  self::assertEquals([], $this->uriBuilder->getArguments());
577  self::assertEquals('', $this->uriBuilder->getSection());
578  self::assertEquals('', $this->uriBuilder->getFormat());
579  self::assertFalse($this->uriBuilder->getCreateAbsoluteUri());
580  self::assertFalse($this->uriBuilder->getAddQueryString());
581  self::assertEquals([], $this->uriBuilder->getArgumentsToBeExcludedFromQueryString());
582  self::assertEquals('', $this->uriBuilder->getAddQueryStringMethod());
583  self::assertEquals('', $this->uriBuilder->getArgumentPrefix());
584  self::assertFalse($this->uriBuilder->getLinkAccessRestrictedPages());
585  self::assertNull($this->uriBuilder->getTargetPageUid());
586  self::assertEquals(0, $this->uriBuilder->getTargetPageType());
587  self::assertFalse($this->uriBuilder->getNoCache());
588  self::assertFalse($this->uriBuilder->getNoCache());
589  self::assertNull($this->uriBuilder->getAbsoluteUriScheme());
590  }
591 
596  {
597  ‪$GLOBALS['TSFE']->id = 123;
598  $this->uriBuilder->setTargetPageUid(321);
599  $expectedConfiguration = ['parameter' => 321];
600  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
601  self::assertEquals($expectedConfiguration, $actualConfiguration);
602  }
603 
608  {
609  ‪$GLOBALS['TSFE']->id = 123;
610  $expectedConfiguration = ['parameter' => 123];
611  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
612  self::assertEquals($expectedConfiguration, $actualConfiguration);
613  }
614 
619  {
620  $this->uriBuilder->setTargetPageUid(123);
621  $this->uriBuilder->setArguments(['foo' => 'bar', 'baz' => ['extbase' => 'fluid']]);
622  $expectedConfiguration = ['parameter' => 123, 'additionalParams' => '&foo=bar&baz%5Bextbase%5D=fluid'];
623  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
624  self::assertEquals($expectedConfiguration, $actualConfiguration);
625  }
626 
631  {
632  $this->uriBuilder->setTargetPageUid(123);
633  $this->uriBuilder->setAddQueryString(true);
634  $expectedConfiguration = ['parameter' => 123, 'addQueryString' => 1];
635  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
636  self::assertEquals($expectedConfiguration, $actualConfiguration);
637  }
638 
643  {
644  $this->uriBuilder->setTargetPageUid(123);
645  $this->uriBuilder->setAddQueryString(true);
646  $this->uriBuilder->setAddQueryStringMethod('GET');
647  $expectedConfiguration = ['parameter' => 123, 'addQueryString' => 1, 'addQueryString.' => ['method' => 'GET']];
648  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
649  self::assertEquals($expectedConfiguration, $actualConfiguration);
650  }
651 
656  {
657  $mockDomainObject1 = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
658  $mockDomainObject1->_set('uid', '123');
659  $mockDomainObject2 = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
660  $mockDomainObject2->_set('uid', '321');
661  $this->uriBuilder->setTargetPageUid(123);
662  $this->uriBuilder->setArguments(['someDomainObject' => $mockDomainObject1, 'baz' => ['someOtherDomainObject' => $mockDomainObject2]]);
663  $expectedConfiguration = ['parameter' => 123, 'additionalParams' => '&someDomainObject=123&baz%5BsomeOtherDomainObject%5D=321'];
664  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
665  self::assertEquals($expectedConfiguration, $actualConfiguration);
666  }
667 
672  {
673  $this->uriBuilder->setTargetPageUid(123);
674  $this->uriBuilder->setFormat('txt');
675  $this->mockRequest->expects(self::once())->method('getControllerExtensionName')->willReturn('SomeExtensionNameFromRequest');
676 
677  ‪$mockConfigurationManager = $this->createMock(ConfigurationManager::class);
678  ‪$mockConfigurationManager->expects(self::any())->method('getConfiguration')
679  ->willReturn(['formatToPageTypeMapping' => ['txt' => 2]]);
680  $this->uriBuilder->_set('configurationManager', ‪$mockConfigurationManager);
681 
682  $this->mockExtensionService->expects(self::any())->method('getTargetPageTypeByFormat')
683  ->with('SomeExtensionNameFromRequest', 'txt')
684  ->willReturn(2);
685 
686  $expectedConfiguration = ['parameter' => '123,2'];
687  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
688  self::assertEquals($expectedConfiguration, $actualConfiguration);
689  }
690 
695  {
696  $this->uriBuilder->setTargetPageUid(123);
697  $this->uriBuilder->setFormat('txt');
698 
699  ‪$mockConfigurationManager = $this->createMock(ConfigurationManager::class);
700  ‪$mockConfigurationManager->expects(self::any())->method('getConfiguration')->willReturn([]);
701  $this->uriBuilder->_set('configurationManager', ‪$mockConfigurationManager);
702 
703  $this->mockExtensionService->expects(self::any())->method('getTargetPageTypeByFormat')
704  ->with(null, 'txt')
705  ->willReturn(0);
706 
707  $expectedConfiguration = ['parameter' => '123,0'];
708  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
709 
710  self::assertEquals($expectedConfiguration, $actualConfiguration);
711  }
712 
717  {
718  $this->uriBuilder->setTargetPageUid(123);
719  $this->uriBuilder->setFormat('txt');
720 
721  ‪$mockConfigurationManager = $this->createMock(ConfigurationManager::class);
722  ‪$mockConfigurationManager->expects(self::any())->method('getConfiguration')
723  ->willReturn(['formatToPageTypeMapping' => ['pdf' => 2]]);
724  $this->uriBuilder->_set('configurationManager', ‪$mockConfigurationManager);
725 
726  $this->mockExtensionService->expects(self::any())->method('getTargetPageTypeByFormat')
727  ->with(null, 'txt')
728  ->willReturn(0);
729 
730  $expectedConfiguration = ['parameter' => '123,0'];
731  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
732 
733  self::assertEquals($expectedConfiguration, $actualConfiguration);
734  }
735 
740  {
741  $this->uriBuilder->setTargetPageUid(123);
742  $this->uriBuilder->setNoCache(true);
743  $expectedConfiguration = ['parameter' => 123, 'no_cache' => 1];
744  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
745  self::assertEquals($expectedConfiguration, $actualConfiguration);
746  }
747 
752  {
753  $this->uriBuilder->setTargetPageUid(123);
754  $this->uriBuilder->setSection('SomeSection');
755  $expectedConfiguration = ['parameter' => 123, 'section' => 'SomeSection'];
756  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
757  self::assertEquals($expectedConfiguration, $actualConfiguration);
758  }
759 
764  {
765  $this->uriBuilder->setTargetPageUid(123);
766  $this->uriBuilder->setLinkAccessRestrictedPages(true);
767  $expectedConfiguration = ['parameter' => 123, 'linkAccessRestrictedPages' => 1];
768  $actualConfiguration = $this->uriBuilder->_call('buildTypolinkConfiguration');
769  self::assertEquals($expectedConfiguration, $actualConfiguration);
770  }
771 
776  {
777  $mockDomainObject1 = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
778  $mockDomainObject1->_set('uid', '123');
779  $mockDomainObject2 = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
780  $mockDomainObject2->_set('uid', '321');
781  $expectedResult = ['foo' => ['bar' => 'baz'], 'domainObject1' => '123', 'second' => ['domainObject2' => '321']];
782  $actualResult = $this->uriBuilder->_call('convertDomainObjectsToIdentityArrays', ['foo' => ['bar' => 'baz'], 'domainObject1' => $mockDomainObject1, 'second' => ['domainObject2' => $mockDomainObject2]]);
783  self::assertEquals($expectedResult, $actualResult);
784  }
785 
790  {
791  $objectStorage = new ‪ObjectStorage();
792  $mockChildObject1 = $this->getAccessibleMock(AbstractEntity::class, ['dummy']);
793  $mockChildObject1->_set('uid', '123');
794  $objectStorage->attach($mockChildObject1);
795  $expectedResult = ['foo' => ['bar' => 'baz'], 'objectStorage' => ['123']];
796  $actualResult = $this->uriBuilder->_call('convertDomainObjectsToIdentityArrays', ['foo' => ['bar' => 'baz'], 'objectStorage' => $objectStorage]);
797  self::assertEquals($expectedResult, $actualResult);
798  }
799 
804  {
805  $mockValueObject = new ‪ValueObjectFixture();
806  $mockValueObject->name = 'foo';
808  $mockUriBuilder = $this->getAccessibleMock(UriBuilder::class, ['convertTransientObjectToArray']);
809  $mockUriBuilder->expects(self::once())->method('convertTransientObjectToArray')->willReturn(['foo' => 'bar']);
810  $actualResult = $mockUriBuilder->_call('convertDomainObjectsToIdentityArrays', ['object' => $mockValueObject]);
811  $expectedResult = ['object' => ['foo' => 'bar']];
812  self::assertEquals($expectedResult, $actualResult);
813  }
814 
819  {
820  $this->expectException(InvalidArgumentValueException::class);
821  $this->expectExceptionCode(1260881688);
822  $mockEntity = new ‪EntityFixture();
823  $mockEntity->name = 'foo';
825  $mockUriBuilder = $this->getAccessibleMock(UriBuilder::class, ['dummy']);
826  $mockUriBuilder->_call('convertDomainObjectsToIdentityArrays', ['object' => $mockEntity]);
827  }
828 
833  {
834  $mockValueObject = new ‪ValueObjectFixture();
835  $mockValueObject->name = 'foo';
837  $actualResult = ‪$uriBuilder->‪convertTransientObjectToArray($mockValueObject);
838  $expectedResult = ['name' => 'foo', 'object' => null, 'uid' => null, 'pid' => null];
839  self::assertEquals($expectedResult, $actualResult);
840  }
841 
846  {
847  $mockValueObject = new ‪ValueObjectFixture();
848  $objectStorage = new ‪ObjectStorage();
849  $mockValueObject->name = 'foo';
850  $mockValueObject2 = new ‪ValueObjectFixture();
851  $mockValueObject2->name = 'bar';
852  $objectStorage->attach($mockValueObject2);
853  $mockValueObject->object = $objectStorage;
855  $actualResult = ‪$uriBuilder->‪convertTransientObjectToArray($mockValueObject);
856  $expectedResult = [
857  'name' => 'foo',
858  'object' => [
859  [
860  'name' => 'bar',
861  'uid' => null,
862  'pid' => null,
863  'object' => null
864  ]
865  ],
866  'uid' => null,
867  'pid' => null
868  ];
869  self::assertEquals($expectedResult, $actualResult);
870  }
871 
876  {
877  $mockInnerValueObject2 = new ‪ValueObjectFixture();
878  $mockInnerValueObject2->name = 'foo';
879  $mockInnerValueObject2->uid = 99;
880  $mockInnerValueObject1 = new ‪ValueObjectFixture();
881  $mockInnerValueObject1->object = $mockInnerValueObject2;
882  $mockValueObject = new ‪ValueObjectFixture();
883  $mockValueObject->object = $mockInnerValueObject1;
885  $actualResult = ‪$uriBuilder->‪convertTransientObjectToArray($mockValueObject);
886  $expectedResult = [
887  'name' => null,
888  'object' => [
889  'name' => null,
890  'object' => 99,
891  'uid' => null,
892  'pid' => null
893  ],
894  'uid' => null,
895  'pid' => null
896  ];
897  self::assertEquals($expectedResult, $actualResult);
898  }
899 
904  {
905  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultControllerNameByPlugin')->with('ExtensionName', 'PluginName')->willReturn('DefaultController');
906  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultActionNameByPluginAndController')->with('ExtensionName', 'PluginName', 'SomeController')->willReturn('defaultAction');
907  $arguments = ['controller' => 'SomeController', 'action' => 'someAction', 'foo' => 'bar'];
908  $extensionName = 'ExtensionName';
909  $pluginName = 'PluginName';
910  $expectedResult = ['controller' => 'SomeController', 'action' => 'someAction', 'foo' => 'bar'];
911  $actualResult = $this->uriBuilder->_call('removeDefaultControllerAndAction', $arguments, $extensionName, $pluginName);
912  self::assertEquals($expectedResult, $actualResult);
913  }
914 
919  {
920  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultControllerNameByPlugin')->with('ExtensionName', 'PluginName')->willReturn('DefaultController');
921  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultActionNameByPluginAndController')->with('ExtensionName', 'PluginName', 'DefaultController')->willReturn('defaultAction');
922  $arguments = ['controller' => 'DefaultController', 'action' => 'someAction', 'foo' => 'bar'];
923  $extensionName = 'ExtensionName';
924  $pluginName = 'PluginName';
925  $expectedResult = ['action' => 'someAction', 'foo' => 'bar'];
926  $actualResult = $this->uriBuilder->_call('removeDefaultControllerAndAction', $arguments, $extensionName, $pluginName);
927  self::assertEquals($expectedResult, $actualResult);
928  }
929 
934  {
935  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultControllerNameByPlugin')->with('ExtensionName', 'PluginName')->willReturn('DefaultController');
936  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultActionNameByPluginAndController')->with('ExtensionName', 'PluginName', 'SomeController')->willReturn('defaultAction');
937  $arguments = ['controller' => 'SomeController', 'action' => 'defaultAction', 'foo' => 'bar'];
938  $extensionName = 'ExtensionName';
939  $pluginName = 'PluginName';
940  $expectedResult = ['controller' => 'SomeController', 'foo' => 'bar'];
941  $actualResult = $this->uriBuilder->_call('removeDefaultControllerAndAction', $arguments, $extensionName, $pluginName);
942  self::assertEquals($expectedResult, $actualResult);
943  }
944 
949  {
950  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultControllerNameByPlugin')->with('ExtensionName', 'PluginName')->willReturn('DefaultController');
951  $this->mockExtensionService->expects(self::atLeastOnce())->method('getDefaultActionNameByPluginAndController')->with('ExtensionName', 'PluginName', 'DefaultController')->willReturn('defaultAction');
952  $arguments = ['controller' => 'DefaultController', 'action' => 'defaultAction', 'foo' => 'bar'];
953  $extensionName = 'ExtensionName';
954  $pluginName = 'PluginName';
955  $expectedResult = ['foo' => 'bar'];
956  $actualResult = $this->uriBuilder->_call('removeDefaultControllerAndAction', $arguments, $extensionName, $pluginName);
957  self::assertEquals($expectedResult, $actualResult);
958  }
959 
964  {
965  return [
966  'Extbase ObjectStorage' => [new ‪ObjectStorage()],
967  'SplObjectStorage' => [new \SplObjectStorage()],
968  'ArrayIterator' => [new \ArrayIterator()]
969  ];
970  }
971 
976  public function ‪convertIteratorToArrayConvertsIteratorsToArray($iterator)
977  {
978  $result = $this->uriBuilder->_call('convertIteratorToArray', $iterator);
979  self::assertTrue(is_array($result));
980  }
981 }
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$mockRequest
‪Request PHPUnit Framework MockObject MockObject $mockRequest
Definition: UriBuilderTest.php:62
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriConvertsDomainObjectsAfterArgumentsHaveBeenMerged
‪buildBackendUriConvertsDomainObjectsAfterArgumentsHaveBeenMerged()
Definition: UriBuilderTest.php:342
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationConsidersSection
‪buildTypolinkConfigurationConsidersSection()
Definition: UriBuilderTest.php:744
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForRecursivelyMergesAndOverrulesControllerArgumentsWithArguments
‪uriForRecursivelyMergesAndOverrulesControllerArgumentsWithArguments()
Definition: UriBuilderTest.php:146
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationRespectsSpecifiedTargetPageUid
‪buildTypolinkConfigurationRespectsSpecifiedTargetPageUid()
Definition: UriBuilderTest.php:588
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationUsesCurrentPageUidIfTargetPageUidIsNotSet
‪buildTypolinkConfigurationUsesCurrentPageUidIfTargetPageUidIsNotSet()
Definition: UriBuilderTest.php:600
‪TYPO3\CMS\Core\Core\Environment\getPublicPath
‪static string getPublicPath()
Definition: Environment.php:180
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\Fixtures\ValueObjectFixture
Definition: ValueObjectFixture.php:24
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForSetsPluginNameFromRequestIfPluginNameIsNotSet
‪uriForSetsPluginNameFromRequestIfPluginNameIsNotSet()
Definition: UriBuilderTest.php:195
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationDisablesCacheHashIfNoCacheIsSet
‪buildTypolinkConfigurationDisablesCacheHashIfNoCacheIsSet()
Definition: UriBuilderTest.php:732
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForOnlySetsActionArgumentIfSpecified
‪uriForOnlySetsActionArgumentIfSpecified()
Definition: UriBuilderTest.php:160
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForPrefixesArgumentsWithExtensionAndPluginNameAndSetsControllerArgument
‪uriForPrefixesArgumentsWithExtensionAndPluginNameAndSetsControllerArgument()
Definition: UriBuilderTest.php:134
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\convertDomainObjectsToIdentityArraysConvertsObjectStoragesWithDomainObjects
‪convertDomainObjectsToIdentityArraysConvertsObjectStoragesWithDomainObjects()
Definition: UriBuilderTest.php:782
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\removeDefaultControllerAndActionRemovesActionIfItIsEqualToTheDefault
‪removeDefaultControllerAndActionRemovesActionIfItIsEqualToTheDefault()
Definition: UriBuilderTest.php:926
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder
Definition: UriBuilder.php:39
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$backupEnvironment
‪bool $backupEnvironment
Definition: UriBuilderTest.php:50
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$mockContentObject
‪ContentObjectRenderer PHPUnit Framework MockObject MockObject $mockContentObject
Definition: UriBuilderTest.php:58
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriKeepsQueryParametersIfAddQueryStringIsSet
‪buildBackendUriKeepsQueryParametersIfAddQueryStringIsSet()
Definition: UriBuilderTest.php:207
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$resetSingletonInstances
‪bool $resetSingletonInstances
Definition: UriBuilderTest.php:46
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\transientObjectsAreConvertedToAnArrayOfProperties
‪transientObjectsAreConvertedToAnArrayOfProperties()
Definition: UriBuilderTest.php:825
‪TYPO3\CMS\Core\Core\Environment\isWindows
‪static bool isWindows()
Definition: Environment.php:292
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
Definition: ConfigurationManagerInterface.php:28
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\resetSetsAllOptionsToTheirDefaultValue
‪resetSetsAllOptionsToTheirDefaultValue()
Definition: UriBuilderTest.php:550
‪TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentValueException
Definition: InvalidArgumentValueException.php:26
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriCreatesAbsoluteUrisInBackendContextIfSpecified
‪buildBackendUriCreatesAbsoluteUrisInBackendContextIfSpecified()
Definition: UriBuilderTest.php:384
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\Fixtures\EntityFixture
Definition: EntityFixture.php:24
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriHandlesRemovedMethods
‪buildBackendUriHandlesRemovedMethods(string $method, string $expectedMessage, string $expectedResult)
Definition: UriBuilderTest.php:442
‪TYPO3\CMS\Extbase\DomainObject\AbstractEntity
Definition: AbstractEntity.php:23
‪TYPO3\CMS\Backend\Routing\Route
Definition: Route.php:24
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriRespectsSection
‪buildBackendUriRespectsSection()
Definition: UriBuilderTest.php:356
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForSetsExtensionNameFromRequestIfExtensionNameIsNotSet
‪uriForSetsExtensionNameFromRequestIfExtensionNameIsNotSet()
Definition: UriBuilderTest.php:183
‪TYPO3\CMS\Extbase\Persistence\ObjectStorage
Definition: ObjectStorage.php:28
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$uriBuilder
‪UriBuilder PHPUnit Framework MockObject MockObject TYPO3 TestingFramework Core AccessibleObjectInterface $uriBuilder
Definition: UriBuilderTest.php:70
‪TYPO3\CMS\Core\Core\Environment\getContext
‪static ApplicationContext getContext()
Definition: Environment.php:133
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\convertIteratorToArrayConvertsIteratorsToArrayProvider
‪array convertIteratorToArrayConvertsIteratorsToArrayProvider()
Definition: UriBuilderTest.php:956
‪TYPO3\CMS\Extbase\Configuration\ConfigurationManager
Definition: ConfigurationManager.php:33
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationResolvesDefaultPageTypeFromFormatIfFormatIsNotMapped
‪buildTypolinkConfigurationResolvesDefaultPageTypeFromFormatIfFormatIsNotMapped()
Definition: UriBuilderTest.php:709
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\rawUrlEncodeSquareBracketsInUrl
‪string rawUrlEncodeSquareBracketsInUrl($string)
Definition: UriBuilderTest.php:457
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\removeDefaultControllerAndActionRemovesControllerAndActionIfBothAreEqualToTheDefault
‪removeDefaultControllerAndActionRemovesControllerAndActionIfBothAreEqualToTheDefault()
Definition: UriBuilderTest.php:941
‪TYPO3\CMS\Core\Core\Environment\getProjectPath
‪static string getProjectPath()
Definition: Environment.php:169
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationResolvesPageTypeFromFormat
‪buildTypolinkConfigurationResolvesPageTypeFromFormat()
Definition: UriBuilderTest.php:664
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriDoesNotStripLeadingSlashesFromRelativeUris
‪buildFrontendUriDoesNotStripLeadingSlashesFromRelativeUris()
Definition: UriBuilderTest.php:489
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\convertTransientObjectToArray
‪array convertTransientObjectToArray(AbstractDomainObject $object)
Definition: UriBuilder.php:849
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$mockConfigurationManager
‪ConfigurationManagerInterface $mockConfigurationManager
Definition: UriBuilderTest.php:54
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\convertIteratorToArrayConvertsIteratorsToArray
‪convertIteratorToArrayConvertsIteratorsToArray($iterator)
Definition: UriBuilderTest.php:969
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setAbsoluteUriScheme
‪static setAbsoluteUriScheme(string $absoluteUriScheme)
Definition: UriBuilder.php:284
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriMergesAndOverrulesQueryParametersWithArguments
‪buildBackendUriMergesAndOverrulesQueryParametersWithArguments()
Definition: UriBuilderTest.php:330
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\transientObjectsWithObjectStorageAreConvertedToAnArrayOfProperties
‪transientObjectsWithObjectStorageAreConvertedToAnArrayOfProperties()
Definition: UriBuilderTest.php:838
‪TYPO3\CMS\Core\Core\Environment\initialize
‪static initialize(ApplicationContext $context, bool $cli, bool $composerMode, string $projectPath, string $publicPath, string $varPath, string $configPath, string $currentScript, string $os)
Definition: Environment.php:104
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\removeDefaultControllerAndActionRemovesControllerIfItIsEqualToTheDefault
‪removeDefaultControllerAndActionRemovesControllerIfItIsEqualToTheDefault()
Definition: UriBuilderTest.php:911
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\setCreateAbsoluteUri
‪static setCreateAbsoluteUri(bool $createAbsoluteUri)
Definition: UriBuilder.php:254
‪TYPO3\CMS\Core\Core\Environment\getBackendPath
‪static string getBackendPath()
Definition: Environment.php:250
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationProperlySetsAddQueryStringMethod
‪buildTypolinkConfigurationProperlySetsAddQueryStringMethod()
Definition: UriBuilderTest.php:635
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriRemovesSpecifiedQueryParametersIfArgumentsToBeExcludedFromQueryStringIsSetDataProvider
‪buildBackendUriRemovesSpecifiedQueryParametersIfArgumentsToBeExcludedFromQueryStringIsSetDataProvider()
Definition: UriBuilderTest.php:239
‪TYPO3\CMS\Extbase\Mvc\Web\Request
Definition: Request.php:23
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildUriDataProvider
‪array buildUriDataProvider()
Definition: UriBuilderTest.php:411
‪TYPO3\CMS\Extbase\Service\EnvironmentService
Definition: EnvironmentService.php:27
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriCreatesAbsoluteUrisInFrontendContextIfSpecified
‪buildBackendUriCreatesAbsoluteUrisInFrontendContextIfSpecified()
Definition: UriBuilderTest.php:368
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationProperlySetsAddQueryString
‪buildTypolinkConfigurationProperlySetsAddQueryString()
Definition: UriBuilderTest.php:623
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationResolvesDefaultPageTypeFromFormatIfNoMappingIsConfigured
‪buildTypolinkConfigurationResolvesDefaultPageTypeFromFormatIfNoMappingIsConfigured()
Definition: UriBuilderTest.php:687
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationConvertsDomainObjects
‪buildTypolinkConfigurationConvertsDomainObjects()
Definition: UriBuilderTest.php:648
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\setUp
‪setUp()
Definition: UriBuilderTest.php:76
‪TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController
Definition: TypoScriptFrontendController.php:98
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationLinkAccessRestrictedPagesSetting
‪buildTypolinkConfigurationLinkAccessRestrictedPagesSetting()
Definition: UriBuilderTest.php:756
‪TYPO3\CMS\Extbase\Service\ExtensionService
Definition: ExtensionService.php:33
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\settersAndGettersWorkAsExpected
‪settersAndGettersWorkAsExpected()
Definition: UriBuilderTest.php:99
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:40
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing
‪TYPO3\CMS\Core\Core\Environment\getConfigPath
‪static string getConfigPath()
Definition: Environment.php:210
‪TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer
Definition: ContentObjectRenderer.php:97
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriSetsAbsoluteUriSchemeIfSpecified
‪buildFrontendUriSetsAbsoluteUriSchemeIfSpecified()
Definition: UriBuilderTest.php:516
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriKeepsQueryParametersIfAddQueryStringMethodIsNotSet
‪buildBackendUriKeepsQueryParametersIfAddQueryStringMethodIsNotSet()
Definition: UriBuilderTest.php:223
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriDoesNotSetAbsoluteUriSchemeIfCreateAbsoluteUriIsFalse
‪buildFrontendUriDoesNotSetAbsoluteUriSchemeIfCreateAbsoluteUriIsFalse()
Definition: UriBuilderTest.php:533
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriCreatesTypoLink
‪buildFrontendUriCreatesTypoLink()
Definition: UriBuilderTest.php:465
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest
Definition: UriBuilderTest.php:43
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\transientObjectsAreRecursivelyConverted
‪transientObjectsAreRecursivelyConverted()
Definition: UriBuilderTest.php:868
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\$mockExtensionService
‪ExtensionService PHPUnit Framework MockObject MockObject $mockExtensionService
Definition: UriBuilderTest.php:66
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriKeepsModuleQueryParametersIfAddQueryStringIsNotSet
‪buildBackendUriKeepsModuleQueryParametersIfAddQueryStringIsNotSet()
Definition: UriBuilderTest.php:319
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\convertDomainObjectsToIdentityArraysConvertsDomainObjects
‪convertDomainObjectsToIdentityArraysConvertsDomainObjects()
Definition: UriBuilderTest.php:768
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildBackendUriRemovesSpecifiedQueryParametersIfArgumentsToBeExcludedFromQueryStringIsSet
‪buildBackendUriRemovesSpecifiedQueryParametersIfArgumentsToBeExcludedFromQueryStringIsSet(array $parameters, array $excluded, $expected)
Definition: UriBuilderTest.php:306
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriCreatesRelativeUrisByDefault
‪buildFrontendUriCreatesRelativeUrisByDefault()
Definition: UriBuilderTest.php:478
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\removeDefaultControllerAndActionDoesNotModifyArgumentsIfSpecifiedControllerAndActionIsNotEqualToDefaults
‪removeDefaultControllerAndActionDoesNotModifyArgumentsIfSpecifiedControllerAndActionIsNotEqualToDefaults()
Definition: UriBuilderTest.php:896
‪TYPO3\CMS\Backend\Routing\Router
Definition: Router.php:34
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\conversionOfTransientObjectsIsInvoked
‪conversionOfTransientObjectsIsInvoked()
Definition: UriBuilderTest.php:796
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\conversionOfTransientObjectsThrowsExceptionForOtherThanValueObjects
‪conversionOfTransientObjectsThrowsExceptionForOtherThanValueObjects()
Definition: UriBuilderTest.php:811
‪TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildFrontendUri
‪string buildFrontendUri()
Definition: UriBuilder.php:728
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildFrontendUriCreatesAbsoluteUrisIfSpecified
‪buildFrontendUriCreatesAbsoluteUrisIfSpecified()
Definition: UriBuilderTest.php:500
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\buildTypolinkConfigurationProperlySetsAdditionalArguments
‪buildTypolinkConfigurationProperlySetsAdditionalArguments()
Definition: UriBuilderTest.php:611
‪TYPO3\CMS\Core\Core\Environment\getVarPath
‪static string getVarPath()
Definition: Environment.php:192
‪TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\Routing\UriBuilderTest\uriForSetsControllerFromRequestIfControllerIsNotSet
‪uriForSetsControllerFromRequestIfControllerIsNotSet()
Definition: UriBuilderTest.php:171