‪TYPO3CMS  ‪main
ConditionMatcherTest.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 Psr\Log\NullLogger;
36 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
37 
38 final class ‪ConditionMatcherTest extends FunctionalTestCase
39 {
40  protected function ‪setUp(): void
41  {
42  parent::setUp();
43 
44  ‪$GLOBALS['TYPO3_REQUEST'] = (new ‪ServerRequest())
45  ->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_FE);
46 
47  $this->importCSVDataSet(__DIR__ . '/../../../Fixtures/pages.csv');
49  }
50 
57  {
58  $this->‪setupFrontendUserContext([13]);
59  $subject = $this->‪getConditionMatcher();
60  self::assertTrue($subject->match('[usergroup(13)]'));
61  self::assertTrue($subject->match('[usergroup("13")]'));
62  self::assertTrue($subject->match('[usergroup(\'13\')]'));
63  }
64 
71  {
72  $this->‪setupFrontendUserContext([13, 14, 15]);
73  $subject = $this->‪getConditionMatcher();
74  self::assertFalse($subject->match('[usergroup(999,15,14,13)]'));
75  self::assertTrue($subject->match('[usergroup("999,15,14,13")]'));
76  self::assertTrue($subject->match('[usergroup(\'999,15,14,13\')]'));
77  }
78 
85  {
86  $this->‪setupFrontendUserContext([0, -1]);
87  $subject = $this->‪getConditionMatcher();
88  self::assertFalse($subject->match('[usergroup("0,-1")]'));
89  self::assertFalse($subject->match('[usergroup(\'0,-1\')]'));
90  }
91 
98  {
99  $this->‪setupFrontendUserContext([13, 14, 15]);
100  $subject = $this->‪getConditionMatcher();
101  self::assertTrue($subject->match('[14 in frontend.user.userGroupIds]'));
102  }
103 
110  {
111  $backendUser = new ‪BackendUserAuthentication();
112  $backendUser->userGroupsUID = [13, 14, 15];
113  GeneralUtility::makeInstance(Context::class)->setAspect('backend.user', new ‪UserAspect($backendUser));
114 
115  $subject = $this->‪getConditionMatcher();
116  self::assertTrue($subject->match('[14 in backend.user.userGroupIds]'));
117  }
118 
125  {
126  $this->‪setupFrontendUserContext([13]);
127  $subject = $this->‪getConditionMatcher();
128  self::assertTrue($subject->match('[loginUser("*")]'));
129  self::assertTrue($subject->match('[loginUser(\'*\')]'));
130  }
131 
138  {
139  $this->‪setupFrontendUserContext([13, 14, 15]);
140  $subject = $this->‪getConditionMatcher();
141  self::assertTrue($subject->match('[loginUser(13)]'));
142  self::assertTrue($subject->match('[loginUser("13")]'));
143  self::assertTrue($subject->match('[loginUser(\'13\')]'));
144  }
145 
152  {
153  $this->‪setupFrontendUserContext([13, 14, 15]);
154  $subject = $this->‪getConditionMatcher();
155  self::assertTrue($subject->match('[loginUser("999,13")]'));
156  self::assertTrue($subject->match('[loginUser(\'999,13\')]'));
157  }
158 
165  {
167  $subject = $this->‪getConditionMatcher();
168  self::assertFalse($subject->match('[loginUser("*")]'));
169  self::assertTrue($subject->match('[loginUser("*") == false]'));
170  self::assertFalse($subject->match('[loginUser("13")]'));
171  self::assertFalse($subject->match('[loginUser(\'*\')]'));
172  self::assertFalse($subject->match('[loginUser(\'13\')]'));
173  }
174 
181  {
183  $subject = $this->‪getConditionMatcher();
184  self::assertTrue($subject->match('[loginUser(\'*\') == false]'));
185  self::assertTrue($subject->match('[loginUser("*") == false]'));
186  }
187 
194  {
195  $this->‪setUpWorkspaceAspect(0);
196  $subject = $this->‪getConditionMatcher();
197  self::assertTrue($subject->match('[workspace.workspaceId === 0]'));
198  self::assertTrue($subject->match('[workspace.workspaceId == 0]'));
199  self::assertTrue($subject->match('[workspace.workspaceId == "0"]'));
200  self::assertTrue($subject->match('[workspace.workspaceId == \'0\']'));
201  }
202 
209  {
210  $this->‪setUpWorkspaceAspect(1);
211  $subject = $this->‪getConditionMatcher();
212  self::assertFalse($subject->match('[workspace.isLive]'));
213  self::assertFalse($subject->match('[workspace.isLive === true]'));
214  self::assertFalse($subject->match('[workspace.isLive == true]'));
215  self::assertFalse($subject->match('[workspace.isLive !== false]'));
216  self::assertFalse($subject->match('[workspace.isLive != false]'));
217  }
218 
225  {
226  $this->‪setUpWorkspaceAspect(1);
227  $subject = $this->‪getConditionMatcher();
228  self::assertTrue($subject->match('[workspace.isOffline]'));
229  self::assertTrue($subject->match('[workspace.isOffline === true]'));
230  self::assertTrue($subject->match('[workspace.isOffline == true]'));
231  self::assertTrue($subject->match('[workspace.isOffline !== false]'));
232  self::assertTrue($subject->match('[workspace.isOffline != false]'));
233  }
234 
241  {
242  self::assertTrue($this->‪getConditionMatcher()->match('[tree.level == 2]'));
243  }
244 
251  {
252  self::assertTrue($this->‪getConditionMatcher()->match('[tree.level in [999,998,2]]'));
253  }
254 
261  {
262  self::assertFalse($this->‪getConditionMatcher()->match('[tree.level == 999]'));
263  }
264 
271  {
272  $subject = $this->‪getConditionMatcher();
273  self::assertTrue($subject->match('[2 in tree.rootLineParentIds]'));
274  self::assertTrue($subject->match('["2" in tree.rootLineParentIds]'));
275  self::assertTrue($subject->match('[\'2\' in tree.rootLineParentIds]'));
276  }
277 
284  {
285  self::assertFalse($this->‪getConditionMatcher()->match('[3 in tree.rootLineParentIds]'));
286  }
287 
294  {
295  self::assertFalse($this->‪getConditionMatcher()->match('[999 in tree.rootLineParentIds]'));
296  }
297 
304  {
305  $this->‪setupFrontendController(3);
306  }
307 
314  {
315  self::assertTrue($this->‪getConditionMatcher()->match('[3 in tree.rootLineIds]'));
316  }
317 
324  {
325  self::assertFalse($this->‪getConditionMatcher()->match('[999 in tree.rootLineIds]'));
326  }
327 
335  {
336  $subject = $this->‪getConditionMatcher();
337  self::assertTrue($subject->match('[compatVersion(7.0)]'));
338  self::assertTrue($subject->match('[compatVersion("7.0")]'));
339  self::assertTrue($subject->match('[compatVersion(\'7.0\')]'));
340  }
341 
349  {
350  $typo3Version = new ‪Typo3Version();
351  self::assertTrue($this->‪getConditionMatcher()->match('[compatVersion(' . $typo3Version->getBranch() . ')]'));
352  }
353 
361  {
362  $subject = $this->‪getConditionMatcher();
363  self::assertFalse($subject->match('[compatVersion(15.0)]'));
364  self::assertFalse($subject->match('[compatVersion("15.0")]'));
365  self::assertFalse($subject->match('[compatVersion(\'15.0\')]'));
366  }
367 
374  {
375  ‪$GLOBALS['TSFE']->id = 1234567;
376 
377  $subject = $this->‪getConditionMatcher();
378  self::assertTrue($subject->match('[getTSFE().id == 1234567]'));
379  }
380 
387  {
388  $frontendUserAuthenticationMock = $this->createMock(FrontendUserAuthentication::class);
389  $frontendUserAuthenticationMock->method('getSessionData')->with('foo')->willReturn(['bar' => 1234567]);
390  ‪$GLOBALS['TSFE']->fe_user = $frontendUserAuthenticationMock;
391 
392  self::assertTrue($this->‪getConditionMatcher()->match('[session("foo|bar") == 1234567]'));
393  }
394 
401  {
402  $testKey = ‪StringUtility::getUniqueId('test');
403  putenv($testKey . '=testValue');
404  self::assertTrue($this->‪getConditionMatcher()->match('[getenv("' . $testKey . '") == "testValue"]'));
405  }
406 
412  public function ‪siteLanguageMatchesCondition(): void
413  {
414  $site = new ‪Site('angelo', 13, [
415  'languages' => [
416  [
417  'languageId' => 0,
418  'title' => 'United States',
419  'locale' => 'en_US.UTF-8',
420  ],
421  [
422  'languageId' => 2,
423  'title' => 'UK',
424  'locale' => 'en-UK',
425  ],
426  ],
427  ]);
428  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('language', $site->getLanguageById(0));
429  $subject = $this->‪getConditionMatcher();
430  self::assertTrue($subject->match('[siteLanguage("locale") == "en-US"]'));
431  self::assertTrue($subject->match('[siteLanguage("locale").posixFormatted() == "en_US.UTF-8"]'));
432  self::assertTrue($subject->match('[siteLanguage("locale").posixFormatted() in ["de_DE", "en_US.UTF-8"]]'));
433  }
434 
440  public function ‪siteLanguageDoesNotMatchCondition(): void
441  {
442  $site = new ‪Site('angelo', 13, [
443  'languages' => [
444  [
445  'languageId' => 0,
446  'title' => 'United States',
447  'locale' => 'en_US.UTF-8',
448  ],
449  [
450  'languageId' => 2,
451  'title' => 'UK',
452  'locale' => 'en_UK.UTF-8',
453  ],
454  ],
455  ]);
456  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('language', $site->getLanguageById(0));
457  $subject = $this->‪getConditionMatcher();
458  self::assertFalse($subject->match('[siteLanguage("locale") == "en_UK.UTF-8"]'));
459  self::assertFalse($subject->match('[siteLanguage("locale") == "de_DE" && siteLanguage("title") == "UK"]'));
460  }
461 
467  public function ‪siteMatchesCondition(): void
468  {
469  $site = new ‪Site('angelo', 13, ['languages' => [], 'base' => 'https://typo3.org/']);
470  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('site', $site);
471  $subject = $this->‪getConditionMatcher();
472  self::assertTrue($subject->match('[site("identifier") == "angelo"]'));
473  self::assertTrue($subject->match('[site("rootPageId") == 13]'));
474  self::assertTrue($subject->match('[site("base") == "https://typo3.org/"]'));
475  }
476 
482  public function ‪siteDoesNotMatchCondition(): void
483  {
484  $site = new ‪Site('angelo', 13, [
485  'languages' => [
486  [
487  'languageId' => 0,
488  'title' => 'United States',
489  'locale' => 'en_US.UTF-8',
490  ],
491  [
492  'languageId' => 2,
493  'title' => 'UK',
494  'locale' => 'en_UK.UTF-8',
495  ],
496  ],
497  ]);
498  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('site', $site);
499  $subject = $this->‪getConditionMatcher();
500  self::assertFalse($subject->match('[site("identifier") == "berta"]'));
501  self::assertFalse($subject->match('[site("rootPageId") == 14 && site("rootPageId") == 23]'));
502  }
503 
511  {
512  $fullRootLine = [
513  [
514  'uid' => 4, // Deepest / current page
515  'backend_layout_next_level' => '', // Current page
516  ],
517  [
518  'uid' => 3,
519  'backend_layout_next_level' => 'pagets__article',
520  ],
521  [
522  'uid' => 2, // Could be TypoScript record with 'root' flag set
523  'backend_layout_next_level' => 'pagets__default',
524  ],
525  [
526  'uid' => 1, // Uppermost page
527  'backend_layout_next_level' => '',
528  ],
529  ];
530  $conditionMatcher = new ‪ConditionMatcher(null, null, null, $fullRootLine);
531  self::assertTrue($conditionMatcher->match('[tree.pagelayout == "pagets__article"]'));
532  }
533 
541  {
542  ‪$GLOBALS['TSFE']->page = [
543  'backend_layout' => 'pagets__special_layout',
544  ];
545  $fullRootLine = [
546  [
547  'uid' => 4, // Deepest / current page
548  'backend_layout' => 'pagets__special_layout',
549  'backend_layout_next_level' => '',
550  ],
551  [
552  'uid' => 3,
553  'backend_layout_next_level' => 'pagets__article',
554  ],
555  [
556  'uid' => 2, // Could be TypoScript record with 'root' flag set
557  'backend_layout_next_level' => 'pagets__default',
558  ],
559  [
560  'uid' => 1, // Uppermost page
561  'backend_layout_next_level' => '',
562  ],
563  ];
564  $conditionMatcher = new ‪ConditionMatcher(null, null, null, $fullRootLine);
565  self::assertTrue($conditionMatcher->match('[tree.pagelayout == "pagets__special_layout"]'));
566  }
567 
569  {
570  $conditionMatcher = new ‪ConditionMatcher();
571  $conditionMatcher->setLogger(new NullLogger());
572 
573  return $conditionMatcher;
574  }
575 
576  protected function ‪setupFrontendUserContext(array $groups = []): void
577  {
578  $frontendUser = ‪$GLOBALS['TSFE']->fe_user;
579  $frontendUser->user['uid'] = empty($groups) ? 0 : 13;
580  foreach ($groups as $groupId) {
581  $frontendUser->userGroups[$groupId] = ['uid' => $groupId];
582  }
583 
584  GeneralUtility::makeInstance(Context::class)->setAspect('frontend.user', new ‪UserAspect($frontendUser, $groups));
585  }
586 
590  protected function ‪setUpWorkspaceAspect(int $workspaceId): void
591  {
592  GeneralUtility::makeInstance(Context::class)->setAspect('workspace', new ‪WorkspaceAspect($workspaceId));
593  }
594 
595  protected function ‪setupFrontendController(int $pageId): void
596  {
597  $site = new ‪Site('angelo', 13, [
598  'languages' => [
599  [
600  'languageId' => 0,
601  'title' => 'United States',
602  'locale' => 'en_US.UTF-8',
603  ],
604  [
605  'languageId' => 2,
606  'title' => 'UK',
607  'locale' => 'en_UK.UTF-8',
608  ],
609  ],
610  ]);
611  ‪$GLOBALS['TSFE'] = GeneralUtility::makeInstance(
612  TypoScriptFrontendController::class,
613  GeneralUtility::makeInstance(Context::class),
614  $site,
615  $site->getLanguageById(0),
616  new ‪PageArguments($pageId, '0', []),
618  );
619  ‪$GLOBALS['TSFE']->sys_page = GeneralUtility::makeInstance(PageRepository::class);
620  ‪$GLOBALS['TSFE']->config['rootLine'] = [
621  0 => ['uid' => 1, 'pid' => 0],
622  1 => ['uid' => 2, 'pid' => 1],
623  2 => ['uid' => 3, 'pid' => 2],
624  ];
625  }
626 }
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionDoesNotMatchPageIdNotInRootline
‪PIDinRootlineConditionDoesNotMatchPageIdNotInRootline()
Definition: ConditionMatcherTest.php:323
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteDoesNotMatchCondition
‪siteDoesNotMatchCondition()
Definition: ConditionMatcherTest.php:482
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionMatchesOlderRelease
‪compatVersionConditionMatchesOlderRelease()
Definition: ConditionMatcherTest.php:334
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setupFrontendController
‪setupFrontendController(int $pageId)
Definition: ConditionMatcherTest.php:595
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesMultipleLoggedInUsers
‪loginUserConditionMatchesMultipleLoggedInUsers()
Definition: ConditionMatcherTest.php:151
‪TYPO3\CMS\Core\Routing\PageArguments
Definition: PageArguments.php:26
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionMatchesSinglePageIdInRootline
‪PIDupinRootlineConditionMatchesSinglePageIdInRootline()
Definition: ConditionMatcherTest.php:270
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionMatchesLastPageIdInRootline
‪PIDinRootlineConditionMatchesLastPageIdInRootline()
Definition: ConditionMatcherTest.php:313
‪TYPO3\CMS\Core\Context\WorkspaceAspect
Definition: WorkspaceAspect.php:31
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesSingleLoggedInUser
‪loginUserConditionMatchesSingleLoggedInUser()
Definition: ConditionMatcherTest.php:137
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIsLiveMatchesCorrectWorkspaceState
‪workspaceIsLiveMatchesCorrectWorkspaceState()
Definition: ConditionMatcherTest.php:208
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\pageLayoutIsResolvedCorrectlyFromBackendLayout
‪pageLayoutIsResolvedCorrectlyFromBackendLayout()
Definition: ConditionMatcherTest.php:540
‪TYPO3\CMS\Core\Information\Typo3Version
Definition: Typo3Version.php:21
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchIfUserIsNotLoggedIn
‪loginUserConditionMatchIfUserIsNotLoggedIn()
Definition: ConditionMatcherTest.php:180
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder
Definition: SystemEnvironmentBuilder.php:41
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionMatchesSingleGroupId
‪usergroupConditionMatchesSingleGroupId()
Definition: ConditionMatcherTest.php:56
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\backendUserGroupInOperatorConditionMatchesGroupId
‪backendUserGroupInOperatorConditionMatchesGroupId()
Definition: ConditionMatcherTest.php:109
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\frontendUserGroupInOperatorConditionMatchesGroupId
‪frontendUserGroupInOperatorConditionMatchesGroupId()
Definition: ConditionMatcherTest.php:97
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionMatchesMultipleValues
‪treeLevelConditionMatchesMultipleValues()
Definition: ConditionMatcherTest.php:250
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setUpWorkspaceAspect
‪setUpWorkspaceAspect(int $workspaceId)
Definition: ConditionMatcherTest.php:590
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:55
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionDoesNotMatchIfNotUserIsLoggedId
‪loginUserConditionDoesNotMatchIfNotUserIsLoggedId()
Definition: ConditionMatcherTest.php:164
‪TYPO3\CMS\Core\Site\Entity\Site
Definition: Site.php:42
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionMatchesMultipleUserGroupId
‪usergroupConditionMatchesMultipleUserGroupId()
Definition: ConditionMatcherTest.php:70
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionDoesNotMatchDefaultUserGroupIds
‪usergroupConditionDoesNotMatchDefaultUserGroupIds()
Definition: ConditionMatcherTest.php:84
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionMatchesSingleValue
‪treeLevelConditionMatchesSingleValue()
Definition: ConditionMatcherTest.php:240
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\getConditionMatcher
‪getConditionMatcher()
Definition: ConditionMatcherTest.php:568
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionDoesNotMatchFaultyValue
‪treeLevelConditionDoesNotMatchFaultyValue()
Definition: ConditionMatcherTest.php:260
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionDoesNotMatchNewerRelease
‪compatVersionConditionDoesNotMatchNewerRelease()
Definition: ConditionMatcherTest.php:360
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteLanguageMatchesCondition
‪siteLanguageMatchesCondition()
Definition: ConditionMatcherTest.php:412
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIdConditionMatchesCurrentWorkspaceId
‪workspaceIdConditionMatchesCurrentWorkspaceId()
Definition: ConditionMatcherTest.php:193
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIsOfflineMatchesCorrectWorkspaceState
‪workspaceIsOfflineMatchesCorrectWorkspaceState()
Definition: ConditionMatcherTest.php:224
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setupFrontendUserContext
‪setupFrontendUserContext(array $groups=[])
Definition: ConditionMatcherTest.php:576
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceSession
‪genericGetVariablesSucceedsWithNamespaceSession()
Definition: ConditionMatcherTest.php:386
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:37
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
Definition: BackendUserAuthentication.php:66
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionDoesNotMatchLastPageIdInRootline
‪PIDupinRootlineConditionDoesNotMatchLastPageIdInRootline()
Definition: ConditionMatcherTest.php:283
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\pageLayoutIsResolvedCorrectlyFromBackendLayoutNextLevel
‪pageLayoutIsResolvedCorrectlyFromBackendLayoutNextLevel()
Definition: ConditionMatcherTest.php:510
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteMatchesCondition
‪siteMatchesCondition()
Definition: ConditionMatcherTest.php:467
‪TYPO3\CMS\Frontend\Configuration\TypoScript\ConditionMatching\ConditionMatcher
Definition: ConditionMatcher.php:34
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionMatchesSinglePageIdInRootline
‪PIDinRootlineConditionMatchesSinglePageIdInRootline()
Definition: ConditionMatcherTest.php:303
‪TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController
Definition: TypoScriptFrontendController.php:105
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceTSFE
‪genericGetVariablesSucceedsWithNamespaceTSFE()
Definition: ConditionMatcherTest.php:373
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceENV
‪genericGetVariablesSucceedsWithNamespaceENV()
Definition: ConditionMatcherTest.php:400
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesAnyLoggedInUser
‪loginUserConditionMatchesAnyLoggedInUser()
Definition: ConditionMatcherTest.php:124
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication
Definition: FrontendUserAuthentication.php:34
‪TYPO3\CMS\Core\Domain\Repository\PageRepository
Definition: PageRepository.php:63
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:51
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder\REQUESTTYPE_FE
‪const REQUESTTYPE_FE
Definition: SystemEnvironmentBuilder.php:43
‪TYPO3\CMS\Core\Context\UserAspect
Definition: UserAspect.php:37
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setUp
‪setUp()
Definition: ConditionMatcherTest.php:40
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteLanguageDoesNotMatchCondition
‪siteLanguageDoesNotMatchCondition()
Definition: ConditionMatcherTest.php:440
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static getUniqueId(string $prefix='')
Definition: StringUtility.php:29
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionMatchesSameRelease
‪compatVersionConditionMatchesSameRelease()
Definition: ConditionMatcherTest.php:348
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest
Definition: ConditionMatcherTest.php:39
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionDoesNotMatchPageIdNotInRootline
‪PIDupinRootlineConditionDoesNotMatchPageIdNotInRootline()
Definition: ConditionMatcherTest.php:293
‪TYPO3\CMS\Frontend\Tests\FunctionalDeprecated\Configuration\TypoScript\ConditionMatching
Definition: ConditionMatcherTest.php:18