‪TYPO3CMS  10.4
TranslationTest.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 
22 use PHPUnit\Framework\MockObject\MockObject;
31 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
32 
33 class ‪TranslationTest extends FunctionalTestCase
34 {
38  protected ‪$testExtensionsToLoad = ['typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
39 
43  protected ‪$coreExtensionsToLoad = ['extbase', 'fluid'];
44 
48  protected ‪$objectManager;
49 
53  protected ‪$postRepository;
54 
58  protected function ‪setUp(): void
59  {
60  parent::setUp();
61  /*
62  * Posts Dataset for the tests:
63  *
64  * Post1
65  * -> EN: Post1
66  * -> GR: Post1
67  * Post2
68  * -> EN: Post2
69  * Post3
70  * Post10 [hidden]
71  * -> GR: Post10 [hidden]
72  */
73  $this->importDataSet('PACKAGE:typo3/testing-framework/Resources/Core/Functional/Fixtures/pages.xml');
74  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/blogs.xml');
75  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/translated-posts.xml');
76  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/post-tag-mm.xml');
77  $this->importDataSet(ORIGINAL_ROOT . 'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/tags.xml');
78 
80 
81  $this->objectManager = GeneralUtility::makeInstance(ObjectManager::class);
82  $this->postRepository = $this->objectManager->get(PostRepository::class);
83  }
84 
88  protected function ‪setUpBasicFrontendEnvironment()
89  {
90  // in v9 overlay and language mode has different default values, so we need to set them here explicitly
91  // to match v8 behaviour
92  $context = GeneralUtility::makeInstance(Context::class);
93  $context->setAspect('language', new ‪LanguageAspect(0, 0, ‪LanguageAspect::OVERLAYS_OFF, ['off']));
94 
96  $environmentServiceMock = $this->createMock(EnvironmentService::class);
97  $environmentServiceMock
98  ->expects(self::atLeast(1))
99  ->method('isEnvironmentInFrontendMode')
100  ->willReturn(true);
101  GeneralUtility::setSingletonInstance(EnvironmentService::class, $environmentServiceMock);
102 
103  $pageRepositoryFixture = new ‪PageRepository();
104  $frontendControllerMock = $this->createMock(TypoScriptFrontendController::class);
105  $frontendControllerMock->sys_page = $pageRepositoryFixture;
106  ‪$GLOBALS['TSFE'] = $frontendControllerMock;
107  }
108 
114  public function ‪countReturnsCorrectNumberOfPosts()
115  {
116  $query = $this->postRepository->createQuery();
117 
118  $querySettings = $query->getQuerySettings();
119  $querySettings->setStoragePageIds([1]);
120  $querySettings->setRespectSysLanguage(true);
121  $querySettings->setLanguageUid(0);
122 
123  self::assertFalse($querySettings->getLanguageOverlayMode());
124 
125  $postCount = $query->execute()->count();
126  self::assertSame(4, $postCount);
127  }
128 
137  {
138  $query = $this->postRepository->createQuery();
139 
140  $querySettings = $query->getQuerySettings();
141  $querySettings->setStoragePageIds([1]);
142  $querySettings->setRespectSysLanguage(true);
143  $querySettings->setLanguageUid(1);
144  self::assertFalse($querySettings->getLanguageOverlayMode());
145 
146  $postCount = $query->execute()->count();
147  self::assertSame(2, $postCount);
148  }
149 
156  {
157  $query = $this->postRepository->createQuery();
158 
159  $querySettings = $query->getQuerySettings();
160  $querySettings->setStoragePageIds([1]);
161  $querySettings->setRespectSysLanguage(true);
162  $querySettings->setLanguageUid(1);
163 
164  self::assertFalse($querySettings->getLanguageOverlayMode());
165 
166  $postCount = $query->execute()->count();
167  self::assertSame(2, $postCount);
168  }
169 
174  {
175  $query = $this->postRepository->createQuery();
176 
177  $querySettings = $query->getQuerySettings();
178  $querySettings->setStoragePageIds([1]);
179  $querySettings->setRespectSysLanguage(true);
180  $querySettings->setLanguageUid(2);
181  self::assertFalse($querySettings->getLanguageOverlayMode());
182 
183  $postCount = $query->execute()->count();
184 
185  self::assertSame(2, $postCount);
186  }
187 
192  {
193  $query = $this->postRepository->createQuery();
194 
195  $querySettings = $query->getQuerySettings();
196  $querySettings->setStoragePageIds([1]);
197  $querySettings->setRespectSysLanguage(true);
198  $querySettings->setLanguageUid(1);
199  self::assertFalse($querySettings->getLanguageOverlayMode());
200 
201  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
202 
204  $posts = $query->execute()->toArray();
205 
206  self::assertCount(2, $posts);
207  self::assertSame('A EN:Post2', $posts[0]->getTitle());
208  self::assertSame('B EN:Post1', $posts[1]->getTitle());
209  }
210 
215  {
216  $query = $this->postRepository->createQuery();
217  $querySettings = $query->getQuerySettings();
218  $querySettings->setStoragePageIds([1]);
219  $querySettings->setRespectSysLanguage(false);
220  $querySettings->setLanguageOverlayMode(true);
221  $querySettings->setLanguageUid(2);
222 
223  $query->matching($query->in('uid', [4]));
225  $posts = $query->execute()->toArray();
226 
227  self::assertCount(1, $posts);
228  self::assertSame('Post2', $posts[0]->getTitle());
229  }
230 
237  {
238  $query = $this->postRepository->createQuery();
239 
240  $querySettings = $query->getQuerySettings();
241  $querySettings->setStoragePageIds([1]);
242  $querySettings->setRespectSysLanguage(true);
243  $querySettings->setLanguageUid(2);
244  self::assertFalse($querySettings->getLanguageOverlayMode());
245 
246  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
247 
249  $posts = $query->execute()->toArray();
250 
251  self::assertCount(2, $posts);
252  self::assertSame('GR:Post1', $posts[0]->getTitle());
253  self::assertSame('GR:Post11', $posts[1]->getTitle());
254  }
255 
262  {
263  $query = $this->postRepository->createQuery();
264 
265  $querySettings = $query->getQuerySettings();
266  $querySettings->setStoragePageIds([1]);
267  $querySettings->setRespectSysLanguage(true);
268  $querySettings->setLanguageUid(2);
269  $querySettings->setLanguageOverlayMode('hideNonTranslated');
270 
271  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
272 
274  $posts = $query->execute()->toArray();
275 
276  self::assertCount(2, $posts);
277  self::assertSame('GR:Post1', $posts[0]->getTitle());
278  self::assertSame('GR:Post11', $posts[1]->getTitle());
279  }
280 
281  public function ‪fetchingTranslatedPostByUidDataProvider(): array
282  {
283  return [
284  'with one id' => [
285  'input' => [12],
286  'expectedTitles' => ['GR:Post11'],
287  ],
288  'with two ids' => [
289  'input' => [12, 1],
290  'expectedTitles' => ['GR:Post11', 'GR:Post1'],
291  ],
292  ];
293  }
294 
299  public function ‪fetchingTranslatedPostByInClauseWithStrictLanguageSettings(array $input, array $expectedTitles): void
300  {
301  $query = $this->postRepository->createQuery();
302  $querySettings = $query->getQuerySettings();
303  $querySettings->setStoragePageIds([1]);
304  $querySettings->setRespectSysLanguage(true);
305  $querySettings->setLanguageUid(2);
306  $querySettings->setLanguageOverlayMode('hideNonTranslated');
307 
308  $query->matching($query->in('uid', $input));
310  $posts = $query->execute()->toArray();
311 
312  // @todo: wrong assertion
313  // We're simulating a strict language configuration where a blog post (uid=12 or uid=1) has been translated to another
314  // language. However, Extbase is not able to find the translated record via ->in() and therefore returns an
315  // empty result set. This will be fixed with https://review.typo3.org/c/Packages/TYPO3.CMS/+/67893
316  self::assertCount(0, $posts);
317  // self::assertCount(count($expectedTitles), $posts);
318  // self::assertEqualsCanonicalizing($expectedTitles, array_map(static function(Post $post) { return $post->getTitle(); }, $posts));
319  }
320 
325  public function ‪fetchingTranslatedPostByEqualsUidClauseWithStrictLanguageSettings(array $input, array $expectedTitles): void
326  {
327  $query = $this->postRepository->createQuery();
328  $querySettings = $query->getQuerySettings();
329  $querySettings->setStoragePageIds([1]);
330  $querySettings->setRespectSysLanguage(true);
331  $querySettings->setLanguageUid(2);
332  $querySettings->setLanguageOverlayMode('hideNonTranslated');
333 
334  $constraints = [];
335  foreach ($input as $uid) {
336  $constraints[] = $query->equals('uid', $uid);
337  }
338  $query->matching($query->logicalOr(...$constraints));
340  $posts = $query->execute()->toArray();
341 
342  // @todo: wrong assertion
343  // We're simulating a strict language configuration where a blog post (uid=12 or uid=1) has been translated to another
344  // language. However, Extbase is not able to find the translated record via ->equals(uid=12 OR uid=1 OR ...) and therefore returns an
345  // empty result set. This will be fixed with https://review.typo3.org/c/Packages/TYPO3.CMS/+/67893
346  self::assertCount(0, $posts);
347  // self::assertCount(count($expectedTitles), $posts);
348  // self::assertEqualsCanonicalizing($expectedTitles, array_map(static function(Post $post) { return $post->getTitle(); }, $posts));
349  }
350 
355  {
356  $query = $this->postRepository->createQuery();
357 
358  $querySettings = $query->getQuerySettings();
359  $querySettings->setStoragePageIds([1]);
360  $querySettings->setRespectSysLanguage(true);
361  $querySettings->setLanguageUid(1);
362  self::assertFalse($querySettings->getLanguageOverlayMode());
363 
364  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
365 
367  $posts = $query->execute()->toArray();
368 
369  self::assertCount(2, $posts);
370  self::assertSame('A EN:Post2', $posts[0]->getTitle());
371  self::assertSame('B EN:Post1', $posts[1]->getTitle());
372  }
373 
380  public function ‪orderingByBlogTitle()
381  {
382  $query = $this->postRepository->createQuery();
383 
384  $querySettings = $query->getQuerySettings();
385  $querySettings->setStoragePageIds([1]);
386  $querySettings->setRespectSysLanguage(true);
387  $querySettings->setLanguageUid(1);
388  self::assertFalse($querySettings->getLanguageOverlayMode());
389 
390  $query->setOrderings([
391  'blog.title' => ‪QueryInterface::ORDER_ASCENDING,
393  ]);
394 
396  $posts = $query->execute()->toArray();
397 
398  self::assertCount(2, $posts);
399  self::assertSame('B EN:Post1', $posts[0]->getTitle());
400  self::assertSame('A EN:Post2', $posts[1]->getTitle());
401  }
402 
411  {
412  $query = $this->postRepository->createQuery();
413 
414  $querySettings = $query->getQuerySettings();
415  $querySettings->setStoragePageIds([1]);
416  $querySettings->setRespectSysLanguage(true);
417  $querySettings->setIgnoreEnableFields(true);
418  $querySettings->setLanguageUid(0);
419  //we need it to have stable results on pgsql
420  $query->setOrderings(['uid' => ‪QueryInterface::ORDER_ASCENDING]);
421 
423  $posts = $query->execute()->toArray();
424 
425  self::assertCount(5, $posts);
426  self::assertSame('Post10', $posts[3]->getTitle());
427  }
428 
436  {
437  $query = $this->postRepository->createQuery();
438 
439  $querySettings = $query->getQuerySettings();
440  $querySettings->setStoragePageIds([1]);
441  $querySettings->setRespectSysLanguage(true);
442  $querySettings->setIgnoreEnableFields(true);
443  $querySettings->setLanguageUid(2);
444  self::assertFalse($querySettings->getLanguageOverlayMode());
445  //we need it to have stable results on pgsql
446  $query->setOrderings(['uid' => ‪QueryInterface::ORDER_ASCENDING]);
447 
449  $posts = $query->execute()->toArray();
450 
451  self::assertCount(3, $posts);
452 
453  self::assertSame('GR:Post1', $posts[0]->getTitle());
454  self::assertSame('GR:Post10', $posts[1]->getTitle());
455  self::assertSame('GR:Post11', $posts[2]->getTitle());
456  }
457 
468  {
469  $query = $this->postRepository->createQuery();
470 
471  $querySettings = $query->getQuerySettings();
472  $querySettings->setStoragePageIds([1]);
473  $querySettings->setRespectSysLanguage(true);
474  $querySettings->setIgnoreEnableFields(true);
475  $querySettings->setLanguageUid(2);
476  $querySettings->setLanguageOverlayMode(true);
477  //we need it to have stable results on pgsql
478  $query->setOrderings(['uid' => ‪QueryInterface::ORDER_ASCENDING]);
479 
481  $posts = $query->execute()->toArray();
482 
483  self::assertCount(5, $posts);
484 
485  self::assertSame('GR:Post1', $posts[0]->getTitle());
486  self::assertSame('Post2', $posts[1]->getTitle());
487  self::assertSame('Post3', $posts[2]->getTitle());
488  // once the issue is fixed this assertions should be GR:Post10
489  self::assertSame('Post10', $posts[3]->getTitle());
490  self::assertSame('GR:Post11', $posts[4]->getTitle());
491  }
492 
498  public function ‪fetchingTranslatedPostByTitle()
499  {
500  $query = $this->postRepository->createQuery();
501  $querySettings = $query->getQuerySettings();
502  $querySettings->setStoragePageIds([1]);
503  $querySettings->setRespectSysLanguage(true);
504  $querySettings->setLanguageUid(2);
505  self::assertFalse($querySettings->getLanguageOverlayMode());
506 
507  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
508  $query->matching($query->equals('title', 'GR:Post1'));
510  $posts = $query->execute()->toArray();
511  self::assertCount(1, $posts);
512  self::assertSame('GR:Post1', $posts[0]->getTitle());
513  }
514 
521  public function ‪fetchingTranslatedPostByBlogTitle()
522  {
523  $query = $this->postRepository->createQuery();
524  $querySettings = $query->getQuerySettings();
525  $querySettings->setStoragePageIds([1]);
526  $querySettings->setRespectSysLanguage(true);
527  $querySettings->setLanguageUid(2);
528  self::assertFalse($querySettings->getLanguageOverlayMode());
529 
530  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
531  $query->matching($query->equals('blog.title', 'Blog1'));
533  $posts = $query->execute()->toArray();
534  self::assertCount(2, $posts);
535  self::assertSame('GR:Post1', $posts[0]->getTitle());
536  self::assertSame('GR:Post11', $posts[1]->getTitle());
537  }
538 
542  public function ‪fetchingPostByTagName()
543  {
544  $query = $this->postRepository->createQuery();
545  $querySettings = $query->getQuerySettings();
546  $querySettings->setRespectStoragePage(false);
547  $querySettings->setRespectSysLanguage(true);
548  $querySettings->setLanguageUid(0);
549  self::assertFalse($querySettings->getLanguageOverlayMode());
550 
551  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
552  $query->matching($query->equals('tags.name', 'Tag1'));
554  $posts = $query->execute()->toArray();
555  self::assertCount(3, $posts);
556  self::assertSame('Post1', $posts[0]->getTitle());
557  }
558 
562  public function ‪fetchingTranslatedPostByTagName()
563  {
564  $query = $this->postRepository->createQuery();
565  $querySettings = $query->getQuerySettings();
566  $querySettings->setRespectStoragePage(false);
567  $querySettings->setRespectSysLanguage(true);
568  $querySettings->setLanguageUid(1);
569  self::assertFalse($querySettings->getLanguageOverlayMode());
570 
571  $query->setOrderings(['title' => ‪QueryInterface::ORDER_ASCENDING]);
572  $query->matching($query->equals('tags.name', 'Tag1'));
574  $posts = $query->execute()->toArray();
575  self::assertCount(2, $posts);
576  self::assertSame('A EN:Post2', $posts[0]->getTitle());
577  self::assertSame(1, count($posts[0]->getTags()));
578  self::assertSame('B EN:Post1', $posts[1]->getTitle());
579  self::assertSame(2, count($posts[1]->getTags()));
580  }
581 }
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingPostByTagName
‪fetchingPostByTagName()
Definition: TranslationTest.php:538
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingPostsReturnsGreekPostsWithHideNonTranslated
‪fetchingPostsReturnsGreekPostsWithHideNonTranslated()
Definition: TranslationTest.php:257
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\countReturnsCorrectNumberOfPosts
‪countReturnsCorrectNumberOfPosts()
Definition: TranslationTest.php:110
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\countReturnsCorrectNumberOfPostsInEnglishLanguage
‪countReturnsCorrectNumberOfPostsInEnglishLanguage()
Definition: TranslationTest.php:151
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\countReturnsCorrectNumberOfPostsInEnglishLanguageForStrictMode
‪countReturnsCorrectNumberOfPostsInEnglishLanguageForStrictMode()
Definition: TranslationTest.php:132
‪TYPO3\CMS\Extbase\Persistence\QueryInterface
Definition: QueryInterface.php:29
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingPostsReturnsEnglishPostsWithFallback
‪fetchingPostsReturnsEnglishPostsWithFallback()
Definition: TranslationTest.php:187
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingHiddenPostsWithIgnoreEnableField
‪fetchingHiddenPostsWithIgnoreEnableField()
Definition: TranslationTest.php:406
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\$testExtensionsToLoad
‪array $testExtensionsToLoad
Definition: TranslationTest.php:37
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByUidDataProvider
‪fetchingTranslatedPostByUidDataProvider()
Definition: TranslationTest.php:277
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:53
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByTitle
‪fetchingTranslatedPostByTitle()
Definition: TranslationTest.php:494
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingPostsReturnsGreekPostsWithFallback
‪fetchingPostsReturnsGreekPostsWithFallback()
Definition: TranslationTest.php:232
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByBlogTitle
‪fetchingTranslatedPostByBlogTitle()
Definition: TranslationTest.php:517
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\$coreExtensionsToLoad
‪array $coreExtensionsToLoad
Definition: TranslationTest.php:41
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\orderingByTitleRespectsEnglishTitles
‪orderingByTitleRespectsEnglishTitles()
Definition: TranslationTest.php:350
‪TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_ASCENDING
‪const ORDER_ASCENDING
Definition: QueryInterface.php:98
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\countReturnsCorrectNumberOfPostsInGreekLanguage
‪countReturnsCorrectNumberOfPostsInGreekLanguage()
Definition: TranslationTest.php:169
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByTagName
‪fetchingTranslatedPostByTagName()
Definition: TranslationTest.php:558
‪ExtbaseTeam\BlogExample\Domain\Model\Post
Definition: Post.php:27
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence
Definition: AddTest.php:16
‪TYPO3\CMS\Core\Context\LanguageAspect
Definition: LanguageAspect.php:57
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByInClauseWithStrictLanguageSettings
‪fetchingTranslatedPostByInClauseWithStrictLanguageSettings(array $input, array $expectedTitles)
Definition: TranslationTest.php:295
‪TYPO3\CMS\Extbase\Service\EnvironmentService
Definition: EnvironmentService.php:27
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest
Definition: TranslationTest.php:34
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\$objectManager
‪TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
Definition: TranslationTest.php:45
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingHiddenPostsReturnsHiddenOverlay
‪fetchingHiddenPostsReturnsHiddenOverlay()
Definition: TranslationTest.php:431
‪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\Functional\Persistence\TranslationTest\orderingByBlogTitle
‪orderingByBlogTitle()
Definition: TranslationTest.php:376
‪TYPO3\CMS\Core\Context\LanguageAspect\OVERLAYS_OFF
‪const OVERLAYS_OFF
Definition: LanguageAspect.php:74
‪TYPO3\CMS\Core\Domain\Repository\PageRepository
Definition: PageRepository.php:52
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\$postRepository
‪TYPO3 CMS Extbase Persistence Repository $postRepository
Definition: TranslationTest.php:49
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪ExtbaseTeam\BlogExample\Domain\Repository\PostRepository
Definition: PostRepository.php:30
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\setUpBasicFrontendEnvironment
‪setUpBasicFrontendEnvironment()
Definition: TranslationTest.php:84
‪TYPO3\CMS\Extbase\Object\ObjectManager
Definition: ObjectManager.php:28
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingPostsByInClauseReturnsDefaultPostsWithFallback
‪fetchingPostsByInClauseReturnsDefaultPostsWithFallback()
Definition: TranslationTest.php:210
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingTranslatedPostByEqualsUidClauseWithStrictLanguageSettings
‪fetchingTranslatedPostByEqualsUidClauseWithStrictLanguageSettings(array $input, array $expectedTitles)
Definition: TranslationTest.php:321
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\setUp
‪setUp()
Definition: TranslationTest.php:54
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest\fetchingHiddenPostsReturnsHiddenOverlayOverlayEnabled
‪fetchingHiddenPostsReturnsHiddenOverlayOverlayEnabled()
Definition: TranslationTest.php:463