‪TYPO3CMS  10.4
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 Prophecy\Argument;
21 use Psr\Log\NullLogger;
35 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
36 
40 class ‪ConditionMatcherTest extends FunctionalTestCase
41 {
45  protected function ‪setUp(): void
46  {
47  parent::setUp();
48 
49  ‪$GLOBALS['TYPO3_REQUEST'] = new ‪ServerRequest();
50 
51  $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
53  }
54 
61  {
62  $this->‪setupFrontendUserContext([13]);
63  $subject = $this->‪getConditionMatcher();
64  self::assertTrue($subject->match('[usergroup(13)]'));
65  self::assertTrue($subject->match('[usergroup("13")]'));
66  self::assertTrue($subject->match('[usergroup(\'13\')]'));
67  }
68 
75  {
76  $this->‪setupFrontendUserContext([13, 14, 15]);
77  $subject = $this->‪getConditionMatcher();
78  self::assertFalse($subject->match('[usergroup(999,15,14,13)]'));
79  self::assertTrue($subject->match('[usergroup("999,15,14,13")]'));
80  self::assertTrue($subject->match('[usergroup(\'999,15,14,13\')]'));
81  }
82 
89  {
90  $this->‪setupFrontendUserContext([0, -1]);
91  $subject = $this->‪getConditionMatcher();
92  self::assertFalse($subject->match('[usergroup("0,-1")]'));
93  self::assertFalse($subject->match('[usergroup(\'0,-1\')]'));
94  }
95 
102  {
103  $this->‪setupFrontendUserContext([13]);
104  $subject = $this->‪getConditionMatcher();
105  self::assertTrue($subject->match('[loginUser("*")]'));
106  self::assertTrue($subject->match('[loginUser(\'*\')]'));
107  }
108 
115  {
116  $this->‪setupFrontendUserContext([13, 14, 15]);
117  $subject = $this->‪getConditionMatcher();
118  self::assertTrue($subject->match('[loginUser(13)]'));
119  self::assertTrue($subject->match('[loginUser("13")]'));
120  self::assertTrue($subject->match('[loginUser(\'13\')]'));
121  }
122 
129  {
130  $this->‪setupFrontendUserContext([13, 14, 15]);
131  $subject = $this->‪getConditionMatcher();
132  self::assertTrue($subject->match('[loginUser("999,13")]'));
133  self::assertTrue($subject->match('[loginUser(\'999,13\')]'));
134  }
135 
142  {
144  $subject = $this->‪getConditionMatcher();
145  self::assertFalse($subject->match('[loginUser("*")]'));
146  self::assertTrue($subject->match('[loginUser("*") == false]'));
147  self::assertFalse($subject->match('[loginUser("13")]'));
148  self::assertFalse($subject->match('[loginUser(\'*\')]'));
149  self::assertFalse($subject->match('[loginUser(\'13\')]'));
150  }
151 
158  {
160  $subject = $this->‪getConditionMatcher();
161  self::assertTrue($subject->match('[loginUser(\'*\') == false]'));
162  self::assertTrue($subject->match('[loginUser("*") == false]'));
163  }
164 
171  {
172  $this->‪setUpWorkspaceAspect(0);
173  $subject = $this->‪getConditionMatcher();
174  self::assertTrue($subject->match('[workspace.workspaceId === 0]'));
175  self::assertTrue($subject->match('[workspace.workspaceId == 0]'));
176  self::assertTrue($subject->match('[workspace.workspaceId == "0"]'));
177  self::assertTrue($subject->match('[workspace.workspaceId == \'0\']'));
178  }
179 
186  {
187  $this->‪setUpWorkspaceAspect(1);
188  $subject = $this->‪getConditionMatcher();
189  self::assertFalse($subject->match('[workspace.isLive]'));
190  self::assertFalse($subject->match('[workspace.isLive === true]'));
191  self::assertFalse($subject->match('[workspace.isLive == true]'));
192  self::assertFalse($subject->match('[workspace.isLive !== false]'));
193  self::assertFalse($subject->match('[workspace.isLive != false]'));
194  }
195 
202  {
203  $this->‪setUpWorkspaceAspect(1);
204  $subject = $this->‪getConditionMatcher();
205  self::assertTrue($subject->match('[workspace.isOffline]'));
206  self::assertTrue($subject->match('[workspace.isOffline === true]'));
207  self::assertTrue($subject->match('[workspace.isOffline == true]'));
208  self::assertTrue($subject->match('[workspace.isOffline !== false]'));
209  self::assertTrue($subject->match('[workspace.isOffline != false]'));
210  }
211 
218  {
219  self::assertTrue($this->‪getConditionMatcher()->match('[tree.level == 2]'));
220  }
221 
228  {
229  self::assertTrue($this->‪getConditionMatcher()->match('[tree.level in [999,998,2]]'));
230  }
231 
238  {
239  self::assertFalse($this->‪getConditionMatcher()->match('[tree.level == 999]'));
240  }
241 
248  {
249  $subject = $this->‪getConditionMatcher();
250  self::assertTrue($subject->match('[2 in tree.rootLineParentIds]'));
251  self::assertTrue($subject->match('["2" in tree.rootLineParentIds]'));
252  self::assertTrue($subject->match('[\'2\' in tree.rootLineParentIds]'));
253  }
254 
261  {
262  self::assertFalse($this->‪getConditionMatcher()->match('[3 in tree.rootLineParentIds]'));
263  }
264 
271  {
272  self::assertFalse($this->‪getConditionMatcher()->match('[999 in tree.rootLineParentIds]'));
273  }
274 
281  {
282  $this->‪setupFrontendController(3);
283  }
284 
291  {
292  self::assertTrue($this->‪getConditionMatcher()->match('[3 in tree.rootLineIds]'));
293  }
294 
301  {
302  self::assertFalse($this->‪getConditionMatcher()->match('[999 in tree.rootLineIds]'));
303  }
304 
312  {
313  $subject = $this->‪getConditionMatcher();
314  self::assertTrue($subject->match('[compatVersion(7.0)]'));
315  self::assertTrue($subject->match('[compatVersion("7.0")]'));
316  self::assertTrue($subject->match('[compatVersion(\'7.0\')]'));
317  }
318 
326  {
327  self::assertTrue($this->‪getConditionMatcher()->match('[compatVersion(' . TYPO3_branch . ')]'));
328  }
329 
337  {
338  $subject = $this->‪getConditionMatcher();
339  self::assertFalse($subject->match('[compatVersion(15.0)]'));
340  self::assertFalse($subject->match('[compatVersion("15.0")]'));
341  self::assertFalse($subject->match('[compatVersion(\'15.0\')]'));
342  }
343 
350  {
351  ‪$GLOBALS['TSFE']->id = 1234567;
352  ‪$GLOBALS['TSFE']->testSimpleObject = new \stdClass();
353  ‪$GLOBALS['TSFE']->testSimpleObject->testSimpleVariable = 'testValue';
354 
355  $subject = $this->‪getConditionMatcher();
356  self::assertTrue($subject->match('[getTSFE().id == 1234567]'));
357  self::assertTrue($subject->match('[getTSFE().testSimpleObject.testSimpleVariable == "testValue"]'));
358  }
359 
366  {
367  $prophecy = $this->prophesize(FrontendUserAuthentication::class);
368  $prophecy->getSessionData(Argument::exact('foo'))->willReturn(['bar' => 1234567]);
369  ‪$GLOBALS['TSFE']->fe_user = $prophecy->reveal();
370 
371  self::assertTrue($this->‪getConditionMatcher()->match('[session("foo|bar") == 1234567]'));
372  }
373 
380  {
381  $testKey = ‪StringUtility::getUniqueId('test');
382  putenv($testKey . '=testValue');
383  self::assertTrue($this->‪getConditionMatcher()->match('[getenv("' . $testKey . '") == "testValue"]'));
384  }
385 
391  public function ‪siteLanguageMatchesCondition(): void
392  {
393  $site = new ‪Site('angelo', 13, [
394  'languages' => [
395  [
396  'languageId' => 0,
397  'title' => 'United States',
398  'locale' => 'en_US.UTF-8',
399  ],
400  [
401  'languageId' => 2,
402  'title' => 'UK',
403  'locale' => 'en_UK.UTF-8',
404  ]
405  ]
406  ]);
407  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('language', $site->getLanguageById(0));
408  $subject = $this->‪getConditionMatcher();
409  self::assertTrue($subject->match('[siteLanguage("locale") == "en_US.UTF-8"]'));
410  self::assertTrue($subject->match('[siteLanguage("locale") in ["de_DE", "en_US.UTF-8"]]'));
411  }
412 
418  public function ‪siteLanguageDoesNotMatchCondition(): void
419  {
420  $site = new ‪Site('angelo', 13, [
421  'languages' => [
422  [
423  'languageId' => 0,
424  'title' => 'United States',
425  'locale' => 'en_US.UTF-8',
426  ],
427  [
428  'languageId' => 2,
429  'title' => 'UK',
430  'locale' => 'en_UK.UTF-8',
431  ]
432  ]
433  ]);
434  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('language', $site->getLanguageById(0));
435  $subject = $this->‪getConditionMatcher();
436  self::assertFalse($subject->match('[siteLanguage("locale") == "en_UK.UTF-8"]'));
437  self::assertFalse($subject->match('[siteLanguage("locale") == "de_DE" && siteLanguage("title") == "UK"]'));
438  }
439 
445  public function ‪siteMatchesCondition(): void
446  {
447  $site = new ‪Site('angelo', 13, ['languages' => [], 'base' => 'https://typo3.org/']);
448  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('site', $site);
449  $subject = $this->‪getConditionMatcher();
450  self::assertTrue($subject->match('[site("identifier") == "angelo"]'));
451  self::assertTrue($subject->match('[site("rootPageId") == 13]'));
452  self::assertTrue($subject->match('[site("base") == "https://typo3.org/"]'));
453  }
454 
460  public function ‪siteDoesNotMatchCondition(): void
461  {
462  $site = new ‪Site('angelo', 13, [
463  'languages' => [
464  [
465  'languageId' => 0,
466  'title' => 'United States',
467  'locale' => 'en_US.UTF-8',
468  ],
469  [
470  'languageId' => 2,
471  'title' => 'UK',
472  'locale' => 'en_UK.UTF-8',
473  ]
474  ]
475  ]);
476  ‪$GLOBALS['TYPO3_REQUEST'] = ‪$GLOBALS['TYPO3_REQUEST']->withAttribute('site', $site);
477  $subject = $this->‪getConditionMatcher();
478  self::assertFalse($subject->match('[site("identifier") == "berta"]'));
479  self::assertFalse($subject->match('[site("rootPageId") == 14 && site("rootPageId") == 23]'));
480  }
481 
486  {
487  $conditionMatcher = new ‪ConditionMatcher();
488  $conditionMatcher->setLogger(new NullLogger());
489 
490  return $conditionMatcher;
491  }
492 
496  protected function ‪setupFrontendUserContext(array $groups = []): void
497  {
498  $frontendUser = new ‪FrontendUserAuthentication();
499  $frontendUser->user['uid'] = empty($groups) ? 0 : 13;
500  $frontendUser->groupData['uid'] = $groups;
501 
502  GeneralUtility::makeInstance(Context::class)->setAspect('frontend.user', new ‪UserAspect($frontendUser, $groups));
503  }
504 
510  protected function ‪setUpWorkspaceAspect(int $workspaceId): void
511  {
512  GeneralUtility::makeInstance(Context::class)->setAspect('workspace', new ‪WorkspaceAspect($workspaceId));
513  }
514 
518  protected function ‪setupFrontendController(int $pageId): void
519  {
520  $site = new ‪Site('angelo', 13, [
521  'languages' => [
522  [
523  'languageId' => 0,
524  'title' => 'United States',
525  'locale' => 'en_US.UTF-8',
526  ],
527  [
528  'languageId' => 2,
529  'title' => 'UK',
530  'locale' => 'en_UK.UTF-8',
531  ]
532  ]
533  ]);
534  ‪$GLOBALS['TSFE'] = GeneralUtility::makeInstance(
535  TypoScriptFrontendController::class,
536  GeneralUtility::makeInstance(Context::class),
537  $site,
538  $site->getLanguageById(0),
539  new ‪PageArguments($pageId, '0', [])
540  );
541  ‪$GLOBALS['TSFE']->sys_page = GeneralUtility::makeInstance(PageRepository::class);
542  ‪$GLOBALS['TSFE']->tmpl = GeneralUtility::makeInstance(TemplateService::class);
543  ‪$GLOBALS['TSFE']->tmpl->rootLine = [
544  0 => ['uid' => 1, 'pid' => 0],
545  1 => ['uid' => 2, 'pid' => 1],
546  2 => ['uid' => 3, 'pid' => 2],
547  ];
548  }
549 }
‪TYPO3\CMS\Core\Routing\PageArguments
Definition: PageArguments.php:26
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionDoesNotMatchDefaultUserGroupIds
‪usergroupConditionDoesNotMatchDefaultUserGroupIds()
Definition: ConditionMatcherTest.php:88
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionMatchesLastPageIdInRootline
‪PIDinRootlineConditionMatchesLastPageIdInRootline()
Definition: ConditionMatcherTest.php:290
‪TYPO3\CMS\Core\Context\WorkspaceAspect
Definition: WorkspaceAspect.php:31
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionMatchesOlderRelease
‪compatVersionConditionMatchesOlderRelease()
Definition: ConditionMatcherTest.php:311
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchIfUserIsNotLoggedIn
‪loginUserConditionMatchIfUserIsNotLoggedIn()
Definition: ConditionMatcherTest.php:157
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIsLiveMatchesCorrectWorkspaceState
‪workspaceIsLiveMatchesCorrectWorkspaceState()
Definition: ConditionMatcherTest.php:185
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setupFrontendController
‪setupFrontendController(int $pageId)
Definition: ConditionMatcherTest.php:518
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setupFrontendUserContext
‪setupFrontendUserContext(array $groups=[])
Definition: ConditionMatcherTest.php:496
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionMatchesMultipleValues
‪treeLevelConditionMatchesMultipleValues()
Definition: ConditionMatcherTest.php:227
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionMatchesSingleGroupId
‪usergroupConditionMatchesSingleGroupId()
Definition: ConditionMatcherTest.php:60
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteDoesNotMatchCondition
‪siteDoesNotMatchCondition()
Definition: ConditionMatcherTest.php:460
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionDoesNotMatchPageIdNotInRootline
‪PIDinRootlineConditionDoesNotMatchPageIdNotInRootline()
Definition: ConditionMatcherTest.php:300
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceSession
‪genericGetVariablesSucceedsWithNamespaceSession()
Definition: ConditionMatcherTest.php:365
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:53
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionDoesNotMatchFaultyValue
‪treeLevelConditionDoesNotMatchFaultyValue()
Definition: ConditionMatcherTest.php:237
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest
Definition: ConditionMatcherTest.php:41
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionDoesNotMatchPageIdNotInRootline
‪PIDupinRootlineConditionDoesNotMatchPageIdNotInRootline()
Definition: ConditionMatcherTest.php:270
‪TYPO3\CMS\Core\Site\Entity\Site
Definition: Site.php:40
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setUpWorkspaceAspect
‪setUpWorkspaceAspect(int $workspaceId)
Definition: ConditionMatcherTest.php:510
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionDoesNotMatchIfNotUserIsLoggedId
‪loginUserConditionDoesNotMatchIfNotUserIsLoggedId()
Definition: ConditionMatcherTest.php:141
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionMatchesSinglePageIdInRootline
‪PIDupinRootlineConditionMatchesSinglePageIdInRootline()
Definition: ConditionMatcherTest.php:247
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\usergroupConditionMatchesMultipleUserGroupId
‪usergroupConditionMatchesMultipleUserGroupId()
Definition: ConditionMatcherTest.php:74
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceENV
‪genericGetVariablesSucceedsWithNamespaceENV()
Definition: ConditionMatcherTest.php:379
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching
Definition: ConditionMatcherTest.php:18
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDupinRootlineConditionDoesNotMatchLastPageIdInRootline
‪PIDupinRootlineConditionDoesNotMatchLastPageIdInRootline()
Definition: ConditionMatcherTest.php:260
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteLanguageMatchesCondition
‪siteLanguageMatchesCondition()
Definition: ConditionMatcherTest.php:391
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesAnyLoggedInUser
‪loginUserConditionMatchesAnyLoggedInUser()
Definition: ConditionMatcherTest.php:101
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:37
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionMatchesSameRelease
‪compatVersionConditionMatchesSameRelease()
Definition: ConditionMatcherTest.php:325
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesMultipleLoggedInUsers
‪loginUserConditionMatchesMultipleLoggedInUsers()
Definition: ConditionMatcherTest.php:128
‪TYPO3\CMS\Frontend\Configuration\TypoScript\ConditionMatching\ConditionMatcher
Definition: ConditionMatcher.php:29
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\genericGetVariablesSucceedsWithNamespaceTSFE
‪genericGetVariablesSucceedsWithNamespaceTSFE()
Definition: ConditionMatcherTest.php:349
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\compatVersionConditionDoesNotMatchNewerRelease
‪compatVersionConditionDoesNotMatchNewerRelease()
Definition: ConditionMatcherTest.php:336
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIsOfflineMatchesCorrectWorkspaceState
‪workspaceIsOfflineMatchesCorrectWorkspaceState()
Definition: ConditionMatcherTest.php:201
‪TYPO3\CMS\Core\TypoScript\TemplateService
Definition: TemplateService.php:46
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static string getUniqueId($prefix='')
Definition: StringUtility.php:92
‪TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController
Definition: TypoScriptFrontendController.php:98
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\treeLevelConditionMatchesSingleValue
‪treeLevelConditionMatchesSingleValue()
Definition: ConditionMatcherTest.php:217
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\setUp
‪setUp()
Definition: ConditionMatcherTest.php:45
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\loginUserConditionMatchesSingleLoggedInUser
‪loginUserConditionMatchesSingleLoggedInUser()
Definition: ConditionMatcherTest.php:114
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\getConditionMatcher
‪ConditionMatcher getConditionMatcher()
Definition: ConditionMatcherTest.php:485
‪TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication
Definition: FrontendUserAuthentication.php:30
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\workspaceIdConditionMatchesCurrentWorkspaceId
‪workspaceIdConditionMatchesCurrentWorkspaceId()
Definition: ConditionMatcherTest.php:170
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteLanguageDoesNotMatchCondition
‪siteLanguageDoesNotMatchCondition()
Definition: ConditionMatcherTest.php:418
‪TYPO3\CMS\Core\Domain\Repository\PageRepository
Definition: PageRepository.php:52
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:22
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\PIDinRootlineConditionMatchesSinglePageIdInRootline
‪PIDinRootlineConditionMatchesSinglePageIdInRootline()
Definition: ConditionMatcherTest.php:280
‪TYPO3\CMS\Core\Context\UserAspect
Definition: UserAspect.php:38
‪TYPO3\CMS\Frontend\Tests\Functional\Configuration\TypoScript\ConditionMatching\ConditionMatcherTest\siteMatchesCondition
‪siteMatchesCondition()
Definition: ConditionMatcherTest.php:445