TYPO3 CMS  TYPO3_7-6
ConditionMatcherTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
19 
24 {
28  protected $rootline;
29 
33  protected $matchCondition;
34 
39 
43  protected $testTableName;
44 
48  protected function setUp()
49  {
50  $this->testTableName = 'conditionMatcherTestTable';
51  $this->testGlobalNamespace = $this->getUniqueId('TEST');
52  $GLOBALS['TCA'][$this->testTableName] = ['ctrl' => []];
55  $this->setUpBackend();
56  $this->matchCondition = $this->getMock(\TYPO3\CMS\Backend\Configuration\TypoScript\ConditionMatching\ConditionMatcher::class, ['determineRootline'], [], '', false);
57  }
58 
62  private function setUpBackend()
63  {
64  $this->rootline = [
65  2 => ['uid' => 121, 'pid' => 111],
66  1 => ['uid' => 111, 'pid' => 101],
67  0 => ['uid' => 101, 'pid' => 0]
68  ];
69  $GLOBALS['BE_USER'] = $this->getMock(BackendUserAuthentication::class, ['dummy'], [], '', false);
70  }
71 
76  {
77  $GLOBALS['TYPO3_DB'] = $this->getMock(\TYPO3\CMS\Core\Database\DatabaseConnection::class, ['exec_SELECTquery', 'sql_fetch_assoc', 'sql_free_result']);
78  $GLOBALS['TYPO3_DB']->expects($this->any())->method('exec_SELECTquery')->will($this->returnCallback([$this, 'determinePageIdByRecordDatabaseExecuteCallback']));
79  $GLOBALS['TYPO3_DB']->expects($this->any())->method('sql_fetch_assoc')->will($this->returnCallback([$this, 'determinePageIdByRecordDatabaseFetchCallback']));
80  }
81 
88  {
89  $this->assertFalse($this->matchCondition->match('[nullCondition = This expression would return FALSE in general]'));
90  }
91 
98  {
99  $this->matchCondition->setSimulateMatchResult(true);
100  $this->assertTrue($this->matchCondition->match('[nullCondition = This expression would return FALSE in general]'));
101  }
102 
109  {
110  $testCondition = '[' . $this->getUniqueId('test') . ' = Any condition to simulate a positive match]';
111  $this->matchCondition->setSimulateMatchConditions([$testCondition]);
112  $this->assertTrue($this->matchCondition->match($testCondition));
113  }
114 
122  {
123  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)';
124  $result = $this->matchCondition->match('[browser = msie] && [version = 7] && [system = winNT]');
125  $this->assertTrue($result);
126  }
127 
135  {
136  $_SERVER['HTTP_USER_AGENT'] = 'Opera/9.25 (Windows NT 6.0; U; en)';
137  $result = $this->matchCondition->match('[browser = msie] && [version = 7] && [system = winNT]');
138  $this->assertFalse($result);
139  }
140 
147  {
148  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7W367a Safari/531.21.10';
149  $result = $this->matchCondition->match('[system = iOS]');
150  $this->assertTrue($result);
151  }
152 
159  {
160  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7W367a Safari/531.21.10';
161  $result = $this->matchCondition->match('[system = mac]');
162  $this->assertTrue($result);
163  }
164 
171  {
172  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; SV1)';
173  $result = $this->matchCondition->match('[system = win2k]');
174  $this->assertTrue($result);
175  }
176 
183  {
184  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; SV1)';
185  $result = $this->matchCondition->match('[system = winNT]');
186  $this->assertTrue($result);
187  }
188 
195  {
196  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0)';
197  $result = $this->matchCondition->match('[system = winNT]');
198  $this->assertTrue($result);
199  }
200 
207  {
208  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Linux; U; Android 2.3; en-US; sdk Build/GRH55) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1';
209  $result = $this->matchCondition->match('[system = android]');
210  $this->assertTrue($result);
211  }
212 
219  {
220  $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Linux; U; Android 2.3; en-US; sdk Build/GRH55) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1';
221  $result = $this->matchCondition->match('[system = linux]');
222  $this->assertTrue($result);
223  }
224 
230  public function deviceConditionMatchesRobot()
231  {
232  $_SERVER['HTTP_USER_AGENT'] = 'Googlebot/2.1 (+http://www.google.com/bot.html)';
233  $result = $this->matchCondition->match('[device = robot]');
234  $this->assertTrue($result);
235  }
236 
243  {
244  $_SERVER['HTTP_USER_AGENT'] = md5('Some strange user agent');
245  $result = $this->matchCondition->match('[device = robot]');
246  $this->assertFalse($result);
247  }
248 
255  {
256  $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
257  $this->assertTrue($this->matchCondition->match('[language = *de*]'));
258  $this->assertTrue($this->matchCondition->match('[language = *de-de*]'));
259  }
260 
267  {
268  $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
269  $this->assertTrue($this->matchCondition->match('[language = *en*,*de*]'));
270  $this->assertTrue($this->matchCondition->match('[language = *en-us*,*de-de*]'));
271  }
272 
279  {
280  $this->markTestSkipped('This comparison seems to be incomplete in \TYPO3\CMS\Backend\Configuration\TypoScript\ConditionMatching\ConditionMatcher.');
281  $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
282  $this->assertTrue($this->matchCondition->match('[language = de-de,de;q=0.8]'));
283  }
284 
291  {
292  $GLOBALS['BE_USER']->groupList = '13,14,15';
293  $this->assertTrue($this->matchCondition->match('[usergroup = 13]'));
294  }
295 
302  {
303  $GLOBALS['BE_USER']->groupList = '13,14,15';
304  $this->assertTrue($this->matchCondition->match('[usergroup = 999,15,14,13]'));
305  }
306 
313  {
314  $GLOBALS['BE_USER']->user['uid'] = 13;
315  $this->assertTrue($this->matchCondition->match('[loginUser = *]'));
316  }
317 
324  {
325  $GLOBALS['BE_USER']->user['uid'] = 13;
326  $this->assertTrue($this->matchCondition->match('[loginUser = 13]'));
327  }
328 
335  {
336  $GLOBALS['BE_USER']->user['uid'] = 13;
337  $this->assertFalse($this->matchCondition->match('[loginUser = 999]'));
338  }
339 
346  {
347  $GLOBALS['BE_USER']->user['uid'] = 13;
348  $this->assertTrue($this->matchCondition->match('[loginUser = 999,13]'));
349  }
350 
357  {
358  $GLOBALS['BE_USER']->user['uid'] = 13;
359  $GLOBALS['BE_USER']->user['admin'] = 1;
360  $this->assertTrue($this->matchCondition->match('[adminUser = 1]'));
361  }
362 
369  {
370  $GLOBALS['BE_USER']->user['uid'] = 14;
371  $GLOBALS['BE_USER']->user['admin'] = 0;
372  $this->assertTrue($this->matchCondition->match('[adminUser = 0]'));
373  }
374 
381  {
382  $GLOBALS['BE_USER']->user['uid'] = 14;
383  $GLOBALS['BE_USER']->user['admin'] = 0;
384  $this->assertFalse($this->matchCondition->match('[adminUser = 1]'));
385  }
386 
393  {
394  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 = 10]'), '1');
395  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 = 10.1]'), '2');
396  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 == 10]'), '3');
397  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 == 10.1]'), '4');
398  }
399 
406  {
407  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 = 10|20|30]'));
408  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 = 10.1|20.2|30.3]'));
409  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20 = 10|20|30]'));
410  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20.2 = 10.1|20.2|30.3]'));
411  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 == 10|20|30]'));
412  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 == 10.1|20.2|30.3]'));
413  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20 == 10|20|30]'));
414  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20.2 == 10.1|20.2|30.3]'));
415  }
416 
423  {
424  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 != 20]'));
425  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 != 10.2]'));
426  }
427 
434  {
435  $this->assertFalse($this->matchCondition->match('[globalVar = LIT:10 != 10]'));
436  }
437 
444  {
445  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 != 20|30]'));
446  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 != 10.2|20.3]'));
447  }
448 
455  {
456  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 < 20]'));
457  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 < 10.2]'));
458  }
459 
466  {
467  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 <= 10]'));
468  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 <= 20]'));
469  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 <= 10.1]'));
470  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 <= 10.2]'));
471  }
472 
479  {
480  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20 > 10]'));
481  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.2 > 10.1]'));
482  }
483 
490  {
491  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10 >= 10]'));
492  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:20 >= 10]'));
493  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.1 >= 10.1]'));
494  $this->assertTrue($this->matchCondition->match('[globalVar = LIT:10.2 >= 10.1]'));
495  }
496 
503  {
504  $testKey = $this->getUniqueId('test');
505  $this->assertTrue($this->matchCondition->match('[globalVar = GP:' . $testKey . '=]'));
506  $this->assertTrue($this->matchCondition->match('[globalVar = GP:' . $testKey . ' = ]'));
507  }
508 
515  {
516  $testKey = $this->getUniqueId('test');
517  $_GET = [];
518  $_POST = [$testKey => 0];
519  $this->assertFalse($this->matchCondition->match('[globalVar = GP:' . $testKey . '=]'));
520  $this->assertFalse($this->matchCondition->match('[globalVar = GP:' . $testKey . ' = ]'));
521  }
522 
529  {
530  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = TYPO3.Test.Condition]'));
531  $this->assertFalse($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = TYPO3]'));
532  }
533 
540  {
541  $testKey = $this->getUniqueId('test');
542  $_GET = [];
543  $_POST = [$testKey => ''];
544  $this->assertTrue($this->matchCondition->match('[globalString = GP:' . $testKey . '=]'));
545  $this->assertTrue($this->matchCondition->match('[globalString = GP:' . $testKey . ' = ]'));
546  }
547 
554  {
555  $this->assertTrue($this->matchCondition->match('[globalString = LIT:=]'));
556  $this->assertTrue($this->matchCondition->match('[globalString = LIT: = ]'));
557  }
558 
565  {
566  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = TYPO3?Test?Condition]'));
567  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = TYPO3.T*t.Condition]'));
568  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = TYPO3?T*t?Condition]'));
569  }
570 
577  {
578  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = /^[A-Za-z3.]+$/]'));
579  $this->assertTrue($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = /^TYPO3\\..+Condition$/]'));
580  $this->assertFalse($this->matchCondition->match('[globalString = LIT:TYPO3.Test.Condition = /^FALSE/]'));
581  }
582 
589  {
590  $testKey = $this->getUniqueId('test');
591  $_SERVER[$testKey] = '';
592  $this->assertTrue($this->matchCondition->match('[globalString = _SERVER|' . $testKey . ' = /^$/]'));
593  }
594 
601  {
602  $this->matchCondition->setRootline($this->rootline);
603  $this->assertTrue($this->matchCondition->match('[treeLevel = 2]'));
604  }
605 
612  {
613  $this->matchCondition->setRootline($this->rootline);
614  $this->assertTrue($this->matchCondition->match('[treeLevel = 999,998,2]'));
615  }
616 
623  {
624  $this->matchCondition->setRootline($this->rootline);
625  $this->assertFalse($this->matchCondition->match('[treeLevel = 999]'));
626  }
627 
634  {
635  $GLOBALS['SOBE'] = $this->getMock(\TYPO3\CMS\Backend\Controller\EditDocumentController::class, [], [], '', false);
636  $GLOBALS['SOBE']->elementsData = [
637  [
638  'table' => 'pages',
639  'uid' => 'NEW4adc6021e37e7',
640  'pid' => 121,
641  'cmd' => 'new',
642  'deleteAccess' => 0
643  ]
644  ];
645  $GLOBALS['SOBE']->data = [];
646  $this->matchCondition->setRootline($this->rootline);
647  $this->matchCondition->setPageId(121);
648  $this->assertTrue($this->matchCondition->match('[treeLevel = 3]'));
649  }
650 
657  {
658  $GLOBALS['SOBE'] = $this->getMock(\TYPO3\CMS\Backend\Controller\EditDocumentController::class, [], [], '', false);
659  $GLOBALS['SOBE']->elementsData = [
660  [
661  'table' => 'pages',
663  'uid' => 999,
664  'pid' => 121,
665  'cmd' => 'edit',
666  'deleteAccess' => 1
667  ]
668  ];
669  $GLOBALS['SOBE']->data = [
670  'pages' => [
671  'NEW4adc6021e37e7' => [
672  'pid' => 121
673  ]
674  ]
675  ];
676  $this->matchCondition->setRootline($this->rootline);
677  $this->matchCondition->setPageId(121);
678  $this->assertTrue($this->matchCondition->match('[treeLevel = 3]'));
679  }
680 
687  {
688  $this->matchCondition->setRootline($this->rootline);
689  $this->matchCondition->setPageId(121);
690  $this->assertTrue($this->matchCondition->match('[PIDupinRootline = 111]'));
691  }
692 
699  {
700  $this->matchCondition->setRootline($this->rootline);
701  $this->matchCondition->setPageId(121);
702  $this->assertTrue($this->matchCondition->match('[PIDupinRootline = 999,111,101]'));
703  }
704 
711  {
712  $this->matchCondition->setRootline($this->rootline);
713  $this->matchCondition->setPageId(121);
714  $this->assertFalse($this->matchCondition->match('[PIDupinRootline = 999]'));
715  }
716 
723  {
724  $this->matchCondition->setRootline($this->rootline);
725  $this->matchCondition->setPageId(121);
726  $this->assertFalse($this->matchCondition->match('[PIDupinRootline = 121]'));
727  }
728 
735  {
736  $GLOBALS['SOBE'] = $this->getMock(\TYPO3\CMS\Backend\Controller\EditDocumentController::class, [], [], '', false);
737  $GLOBALS['SOBE']->elementsData = [
738  [
739  'table' => 'pages',
740  'uid' => 'NEW4adc6021e37e7',
741  'pid' => 121,
742  'cmd' => 'new',
743  'deleteAccess' => 0
744  ]
745  ];
746  $GLOBALS['SOBE']->data = [];
747  $this->matchCondition->setRootline($this->rootline);
748  $this->matchCondition->setPageId(121);
749  $this->assertTrue($this->matchCondition->match('[PIDupinRootline = 121]'));
750  }
751 
758  {
759  $GLOBALS['SOBE'] = $this->getMock(\TYPO3\CMS\Backend\Controller\EditDocumentController::class, [], [], '', false);
760  $GLOBALS['SOBE']->elementsData = [
761  [
762  'table' => 'pages',
764  'uid' => 999,
765  'pid' => 121,
766  'cmd' => 'edit',
767  'deleteAccess' => 1
768  ]
769  ];
770  $GLOBALS['SOBE']->data = [
771  'pages' => [
772  'NEW4adc6021e37e7' => [
773  'pid' => 121
774  ]
775  ]
776  ];
777  $this->matchCondition->setRootline($this->rootline);
778  $this->matchCondition->setPageId(121);
779  $this->assertTrue($this->matchCondition->match('[PIDupinRootline = 121]'));
780  }
781 
788  {
789  $this->matchCondition->setRootline($this->rootline);
790  $this->matchCondition->setPageId(121);
791  $this->assertTrue($this->matchCondition->match('[PIDinRootline = 111]'));
792  }
793 
800  {
801  $this->matchCondition->setRootline($this->rootline);
802  $this->matchCondition->setPageId(121);
803  $this->assertTrue($this->matchCondition->match('[PIDinRootline = 999,111,101]'));
804  }
805 
812  {
813  $this->matchCondition->setRootline($this->rootline);
814  $this->matchCondition->setPageId(121);
815  $this->assertTrue($this->matchCondition->match('[PIDinRootline = 121]'));
816  }
817 
824  {
825  $this->matchCondition->setRootline($this->rootline);
826  $this->matchCondition->setPageId(121);
827  $this->assertFalse($this->matchCondition->match('[PIDinRootline = 999]'));
828  }
829 
837  {
838  $this->assertTrue($this->matchCondition->match('[compatVersion = 7.0]'));
839  }
840 
848  {
849  $this->assertTrue($this->matchCondition->match('[compatVersion = ' . TYPO3_branch . ']'));
850  }
851 
859  {
860  $this->assertFalse($this->matchCondition->match('[compatVersion = 15.0]'));
861  }
862 
869  {
870  $_GET = ['testGet' => 'getTest'];
871  $_POST = ['testPost' => 'postTest'];
872  $this->assertTrue($this->matchCondition->match('[globalString = GP:testGet = getTest]'));
873  $this->assertTrue($this->matchCondition->match('[globalString = GP:testPost = postTest]'));
874  }
875 
883  {
884  $GLOBALS['TSFE'] = new \stdClass();
885  $GLOBALS['TSFE']->id = 1234567;
886  $this->assertFalse($this->matchCondition->match('[globalString = TSFE:id = 1234567]'));
887  }
888 
895  {
896  $testKey = $this->getUniqueId('test');
897  putenv($testKey . '=testValue');
898  $this->assertTrue($this->matchCondition->match('[globalString = ENV:' . $testKey . ' = testValue]'));
899  }
900 
907  {
908  $_SERVER['HTTP_HOST'] = GeneralUtility::getIndpEnv('TYPO3_HOST_ONLY') . ':1234567';
909  $this->assertTrue($this->matchCondition->match('[globalString = IENV:TYPO3_PORT = 1234567]'));
910  }
911 
918  {
920  'first' => 'testFirst',
921  'second' => ['third' => 'testThird']
922  ];
923  $this->assertTrue($this->matchCondition->match('[globalString = ' . $this->testGlobalNamespace . '|first = testFirst]'));
924  $this->assertTrue($this->matchCondition->match('[globalString = ' . $this->testGlobalNamespace . '|second|third = testThird]'));
925  }
926 
933  {
934  $_GET['id'] = 999;
935  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
936  $this->assertEquals(999, $this->matchCondition->getPageId());
937  }
938 
945  {
946  $_GET['edit']['pages'][999] = 'edit';
947  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
948  $this->assertEquals(999, $this->matchCondition->getPageId());
949  }
950 
957  {
959  $_GET['edit'][$this->testTableName][13] = 'edit';
960  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
961  $this->assertEquals(999, $this->matchCondition->getPageId());
962  }
963 
970  {
971  $_GET['edit']['pages'][999] = 'new';
972  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
973  $this->assertEquals(999, $this->matchCondition->getPageId());
974  }
975 
982  {
984  $_GET['edit'][$this->testTableName][-13] = 'new';
985  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
986  $this->assertEquals(999, $this->matchCondition->getPageId());
987  }
988 
995  {
996  $_GET['cmd']['pages'][999]['delete'] = 1;
997  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
998  $this->assertEquals(999, $this->matchCondition->getPageId());
999  }
1000 
1007  {
1008  $_GET['cmd']['pages'][121]['copy'] = 999;
1009  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
1010  $this->assertEquals(999, $this->matchCondition->getPageId());
1011  }
1012 
1019  {
1021  $_GET['cmd'][$this->testTableName][121]['copy'] = -13;
1022  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
1023  $this->assertEquals(999, $this->matchCondition->getPageId());
1024  }
1025 
1032  {
1033  $_GET['cmd']['pages'][121]['move'] = 999;
1034  $this->matchCondition->match('[globalVar = LIT:10 = 10]');
1035  $this->assertEquals(999, $this->matchCondition->getPageId());
1036  }
1037 
1047  public function determinePageIdByRecordDatabaseExecuteCallback($fields, $table, $where)
1048  {
1049  if ($table === $this->testTableName) {
1050  return [
1051  'scope' => $this->testTableName,
1052  'data' => [
1053  'pid' => 999,
1054  'uid' => 998
1055  ]
1056  ];
1057  } else {
1058  return false;
1059  }
1060  }
1061 
1070  {
1071  if (is_array($resource) && $resource['scope'] === $this->testTableName) {
1072  return $resource['data'];
1073  } else {
1074  return false;
1075  }
1076  }
1077 
1083  {
1084  $this->matchCondition->match('[TYPO3\\CMS\\Backend\\Tests\\Unit\\Configuration\\TypoScript\\ConditionMatching\\Fixtures\\TestCondition = 7, != 6]');
1085  }
1086 }
if(TYPO3_MODE==='BE') $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController']['default']