‪TYPO3CMS  9.5
TranslatedContentLegacyTest.php
Go to the documentation of this file.
1 <?php
2 declare(strict_types = 1);
3 
5 
6 /*
7  * This file is part of the TYPO3 CMS project.
8  *
9  * It is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License, either version 2
11  * of the License, or any later version.
12  *
13  * For the full copyright and license information, please read the
14  * LICENSE.txt file that was distributed with this source code.
15  *
16  * The TYPO3 project - inspiring people to share!
17  */
18 
21 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
22 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\ResponseContent;
23 
31 {
32  const ‪VALUE_PageId = 89;
33  const ‪TABLE_Content = 'tt_content';
34  const ‪TABLE_Pages = 'pages';
35 
39  protected ‪$scenarioDataSetDirectory = 'typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/';
40 
44  protected ‪$testExtensionsToLoad = ['typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example'];
45 
49  protected ‪$coreExtensionsToLoad = ['extbase', 'fluid'];
50 
54  protected ‪$objectManager;
55 
59  protected ‪$contentRepository;
60 
68  'FE' => [
69  'pageNotFound_handling' => 'READFILE:typo3/sysext/frontend/Tests/Functional/Rendering/DataSet/404Template.html'
70  ]
71  ];
72 
76  protected ‪$pathsToLinkInTestInstance = [
77  'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/AdditionalConfiguration.php' => 'typo3conf/AdditionalConfiguration.php',
78  'typo3/sysext/frontend/Tests/Functional/Fixtures/Images' => 'fileadmin/user_upload'
79  ];
80 
81  protected function ‪setUp()
82  {
83  parent::setUp();
84  $this->‪importScenarioDataSet('LiveDefaultPages');
85  $this->‪importScenarioDataSet('LiveDefaultElements');
86 
87  $this->objectManager = GeneralUtility::makeInstance(\‪TYPO3\CMS\‪Extbase\Object\ObjectManager::class);
88  $this->contentRepository = $this->objectManager->get(\‪ExtbaseTeam\BlogExample\Domain\Repository\TtContentRepository::class);
89  $this->setUpFrontendRootPage(1, [
90  'typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TypoScript/setup.typoscript',
91  'typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/Frontend/ContentJsonRenderer.typoscript'
92 
93  ]);
94  $this->addTypoScriptToTemplateRecord(
95  1,
96  'config.tx_extbase.features.consistentTranslationOverlayHandling = 0'
97  );
98  }
99 
100  protected function ‪tearDown()
101  {
102  unset($this->objectManager);
103  unset($this->contentRepository);
104  parent::tearDown();
105  }
106 
107  public function ‪defaultLanguageConfigurationDataProvider(): array
108  {
109  return [
110  [
111  'typoScript' => 'config.sys_language_overlay = 0
112  config.sys_language_mode =',
113  ],
114  [
115  'typoScript' => 'config.sys_language_overlay = 0
116  config.sys_language_mode = content_fallback',
117  ],
118  [
119  'typoScript' => 'config.sys_language_overlay = 0
120  config.sys_language_mode = content_fallback;1,0',
121  ],
122  [
123  'typoScript' => 'config.sys_language_overlay = 0
124  config.sys_language_mode = strict',
125  ],
126  [
127  'typoScript' => 'config.sys_language_overlay = 0
128  config.sys_language_mode = ignore',
129  ],
130  [
131  'typoScript' => 'config.sys_language_overlay = 1
132  config.sys_language_mode =',
133  ],
134  [
135  'typoScript' => 'config.sys_language_overlay = 1
136  config.sys_language_mode = content_fallback',
137  ],
138  [
139  'typoScript' => 'config.sys_language_overlay = 1
140  config.sys_language_mode = content_fallback;1,0',
141  ],
142  [
143  'typoScript' => 'config.sys_language_overlay = 1
144  config.sys_language_mode = strict',
145  ],
146  [
147  'typoScript' => 'config.sys_language_overlay = 1
148  config.sys_language_mode = ignore',
149  ],
150  [
151  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
152  config.sys_language_mode =',
153  ],
154  [
155  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
156  config.sys_language_mode = content_fallback',
157  ],
158  [
159  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
160  config.sys_language_mode = content_fallback;1,0',
161  ],
162  [
163  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
164  config.sys_language_mode = strict',
165  ],
166  [
167  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
168  config.sys_language_mode = ignore',
169  ],
170  ];
171  }
172 
182  public function ‪onlyEnglishContentIsRenderedForDefaultLanguage(string $typoScript)
183  {
184  $this->addTypoScriptToTemplateRecord(1, $typoScript);
185 
186  $frontendResponse = $this->getFrontendResponse(self::VALUE_PageId, 0);
187  $responseSections = $frontendResponse->getResponseSections('Extbase:list()');
188  $visibleHeaders = ['Regular Element #1', 'Regular Element #2', 'Regular Element #3'];
189  $this->assertThat(
190  $responseSections,
192  ->setTable(self::TABLE_Content)
193  ->setField('header')
194  ->setValues(...$visibleHeaders)
195  );
196  $this->assertThat(
197  $responseSections,
199  ->setTable(self::TABLE_Content)
200  ->setField('header')
201  ->setValues(...$this->‪getNonVisibleHeaders($visibleHeaders))
202  );
203 
204  //assert FAL relations
205  $visibleFiles = ['T3BOARD'];
206  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
207  ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('image')
208  ->setTable('sys_file_reference')->setField('title')->setValues(...$visibleFiles));
209 
210  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
211  ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('image')
212  ->setTable('sys_file_reference')->setField('title')->setValues(...$this->‪getNonVisibleFileTitles($visibleFiles)));
213 
214  $visibleFiles = ['Kasper2'];
215  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
216  ->setRecordIdentifier(self::TABLE_Content . ':298')->setRecordField('image')
217  ->setTable('sys_file_reference')->setField('title')->setValues(...$visibleFiles));
218 
219  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
220  ->setRecordIdentifier(self::TABLE_Content . ':298')->setRecordField('image')
221  ->setTable('sys_file_reference')->setField('title')->setValues(...$this->‪getNonVisibleFileTitles($visibleFiles)));
222 
223  //assert Categories
224  $visibleCategories = ['Category 1', 'Category 3 - not translated'];
225  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
226  ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('categories')
227  ->setTable('sys_category')->setField('title')->setValues(...$visibleCategories));
228 
229  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
230  ->setRecordIdentifier(self::TABLE_Content . ':297')->setRecordField('categories')
231  ->setTable('sys_category')->setField('title')->setValues(...$this->‪getNonVisibleCategoryTitles($visibleCategories)));
232  }
233 
239  public function ‪dutchDataProvider(): array
240  {
241  //Expected behaviour:
242  //Page is translated to Dutch, so changing sys_language_mode does NOT change the results
243  //Page title is always [DK]Page, and both sys_language_content and sys_language_uid are always 1
244  return [
245  [
246  'typoScript' => 'config.sys_language_overlay = 0
247  config.sys_language_mode =',
248  'visibleRecords' => [
249  // todo all uids are wrong, these should be the uids of the translations
250  // todo the images are wrong as these should be translated
251  297 => [
252  'header' => '[Translate to Dansk:] Regular Element #1',
253  'image' => ['T3BOARD'],
254  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
255  ],
256  298 => [
257  'header' => 'Regular Element #2',
258  'image' => ['Kasper2'],
259  ],
260  299 => [
261  'header' => '[Translate to Dansk:] Regular Element #3',
262  'image' => ['Kasper'],
263  ],
264  303 => [
265  'header' => '[DK] Without default language',
266  'image' => ['[T3BOARD] Image added to DK element without default language'],
267  ],
268  307 => [
269  'header' => '[DK] UnHidden Element #4',
270  'image' => [],
271  ],
272  ],
273  ],
274  [
275  'typoScript' => 'config.sys_language_overlay = 0
276  config.sys_language_mode = content_fallback',
277  'visibleRecords' => [
278  // todo as above, the wrong elements are shown and the images are not translated
279  297 => [
280  'header' => '[Translate to Dansk:] Regular Element #1',
281  'image' => ['T3BOARD'],
282  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
283  ],
284  298 => [
285  'header' => 'Regular Element #2',
286  'image' => ['Kasper2'],
287  ],
288  299 => [
289  'header' => '[Translate to Dansk:] Regular Element #3',
290  'image' => ['Kasper']
291  ],
292  303 => [
293  'header' => '[DK] Without default language',
294  'image' => ['[T3BOARD] Image added to DK element without default language'],
295  ],
296  307 => [
297  'header' => '[DK] UnHidden Element #4',
298  'image' => [],
299  ],
300  ],
301  ],
302  [
303  'typoScript' => 'config.sys_language_overlay = 0
304  config.sys_language_mode = content_fallback;1,0',
305  'visibleRecords' => [
306  // todo just wrong see other cases
307  297 => [
308  'header' => '[Translate to Dansk:] Regular Element #1',
309  'image' => ['T3BOARD'],
310  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
311  ],
312  298 => [
313  'header' => 'Regular Element #2',
314  'image' => ['Kasper2'],
315  ],
316  299 => [
317  'header' => '[Translate to Dansk:] Regular Element #3',
318  'image' => ['Kasper']
319  ],
320  303 => [
321  'header' => '[DK] Without default language',
322  'image' => ['[T3BOARD] Image added to DK element without default language'],
323  ],
324  307 => [
325  'header' => '[DK] UnHidden Element #4',
326  'image' => [],
327  ],
328  ],
329  ],
330  [
331  'typoScript' => 'config.sys_language_overlay = 0
332  config.sys_language_mode = strict',
333  'visibleRecords' => [
334  // todo just wrong see other cases
335  297 => [
336  'header' => '[Translate to Dansk:] Regular Element #1',
337  'image' => [],
338  'categories' => ['[Translate to Dansk:] Category 1'],
339  ],
340  299 => [
341  'header' => '[Translate to Dansk:] Regular Element #3',
342  'image' => ['Kasper']
343  ],
344  303 => [
345  'header' => '[DK] Without default language',
346  'image' => ['[T3BOARD] Image added to DK element without default language'],
347  ],
348  ],
349  ],
350  [
351  'typoScript' => 'config.sys_language_overlay = 0
352  config.sys_language_mode = ignore',
353  'visibleRecords' => [
354  // todo just wrong see other cases
355  297 => [
356  'header' => '[Translate to Dansk:] Regular Element #1',
357  'image' => ['T3BOARD'],
358  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
359  ],
360  298 => [
361  'header' => 'Regular Element #2',
362  'image' => ['Kasper2'],
363  ],
364  299 => [
365  'header' => '[Translate to Dansk:] Regular Element #3',
366  'image' => ['Kasper']
367  ],
368  303 => [
369  'header' => '[DK] Without default language',
370  'image' => ['[T3BOARD] Image added to DK element without default language'],
371  ],
372  307 => [
373  'header' => '[DK] UnHidden Element #4',
374  'image' => [],
375  ],
376  ],
377  ],
378  5 => [
379  'typoScript' => 'config.sys_language_overlay = 1
380  config.sys_language_mode =',
381  'visibleRecords' => [
382  // todo just wrong see other cases
383  297 => [
384  'header' => '[Translate to Dansk:] Regular Element #1',
385  'image' => ['T3BOARD'],
386  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
387 
388  ],
389  298 => [
390  'header' => 'Regular Element #2',
391  'image' => ['Kasper2'],
392  ],
393  299 => [
394  'header' => '[Translate to Dansk:] Regular Element #3',
395  'image' => ['Kasper']
396  ],
397  303 => [
398  'header' => '[DK] Without default language',
399  'image' => ['[T3BOARD] Image added to DK element without default language'],
400  ],
401  307 => [
402  'header' => '[DK] UnHidden Element #4',
403  'image' => [],
404  ],
405  ],
406  ],
407  // Expected behaviour:
408  // Not translated element #2 is shown because sys_language_overlay = 1 (with sys_language_overlay = hideNonTranslated, it would be hidden)
409  [
410  'typoScript' => 'config.sys_language_overlay = 1
411  config.sys_language_mode = content_fallback',
412  'visibleRecords' => [
413  // todo just wrong see other cases
414  297 => [
415  'header' => '[Translate to Dansk:] Regular Element #1',
416  'image' => ['T3BOARD'],
417  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
418 
419  ],
420  298 => [
421  'header' => 'Regular Element #2',
422  'image' => ['Kasper2'],
423  ],
424  299 => [
425  'header' => '[Translate to Dansk:] Regular Element #3',
426  'image' => ['Kasper']
427  ],
428  303 => [
429  'header' => '[DK] Without default language',
430  'image' => ['[T3BOARD] Image added to DK element without default language'],
431  ],
432  307 => [
433  'header' => '[DK] UnHidden Element #4',
434  'image' => [],
435  ],
436  ],
437  ],
438  // Expected behaviour:
439  // Same as config.sys_language_mode = content_fallback because we're requesting language 1, so no additional fallback possible
440  [
441  'typoScript' => 'config.sys_language_overlay = 1
442  config.sys_language_mode = content_fallback;1,0',
443  'visibleRecords' => [
444  // todo just wrong see other cases
445  297 => [
446  'header' => '[Translate to Dansk:] Regular Element #1',
447  'image' => ['T3BOARD'],
448  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
449  ],
450  298 => [
451  'header' => 'Regular Element #2',
452  'image' => ['Kasper2'],
453  ],
454  299 => [
455  'header' => '[Translate to Dansk:] Regular Element #3',
456  'image' => ['Kasper']
457  ],
458  303 => [
459  'header' => '[DK] Without default language',
460  'image' => ['[T3BOARD] Image added to DK element without default language'],
461  ],
462  307 => [
463  'header' => '[DK] UnHidden Element #4',
464  'image' => [],
465  ],
466  ],
467  ],
468  [
469  'typoScript' => 'config.sys_language_overlay = 1
470  config.sys_language_mode = strict',
471  'visibleRecords' => [
472  // todo just wrong see other cases
473  297 => [
474  'header' => '[Translate to Dansk:] Regular Element #1',
475  'image' => [],
476  'categories' => ['[Translate to Dansk:] Category 1'],
477  ],
478  299 => [
479  'header' => '[Translate to Dansk:] Regular Element #3',
480  'image' => ['Kasper']
481  ],
482  303 => [
483  'header' => '[DK] Without default language',
484  'image' => ['[T3BOARD] Image added to DK element without default language'],
485  ],
486  ],
487  ],
488  [
489  'typoScript' => 'config.sys_language_overlay = 1
490  config.sys_language_mode = ignore',
491  'visibleRecords' => [
492  // todo just wrong see other cases
493  297 => [
494  'header' => '[Translate to Dansk:] Regular Element #1',
495  'image' => ['T3BOARD'],
496  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
497  ],
498  298 => [
499  'header' => 'Regular Element #2',
500  'image' => ['Kasper2'],
501  ],
502  299 => [
503  'header' => '[Translate to Dansk:] Regular Element #3',
504  'image' => ['Kasper']
505  ],
506  303 => [
507  'header' => '[DK] Without default language',
508  'image' => ['[T3BOARD] Image added to DK element without default language'],
509  ],
510  307 => [
511  'header' => '[DK] UnHidden Element #4',
512  'image' => [],
513  ],
514  ],
515  ],
516  // Expected behaviour:
517  // Non translated default language elements are not shown, because of hideNonTranslated.
518  // Here we see it's not working - Regular Element #2 is still shown despite it's not translated to Dansk
519  // The same with relations (images and categories)
520  10 => [
521  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
522  config.sys_language_mode =',
523  'visibleRecords' => [
524  // todo too many records and wrong images
525  297 => [
526  'header' => '[Translate to Dansk:] Regular Element #1',
527  'image' => ['T3BOARD'],
528  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
529  ],
530  298 => [
531  'header' => 'Regular Element #2',
532  'image' => ['Kasper2'],
533  ],
534  299 => [
535  'header' => '[Translate to Dansk:] Regular Element #3',
536  'image' => ['Kasper']
537  ],
538  303 => [
539  'header' => '[DK] Without default language',
540  'image' => ['[T3BOARD] Image added to DK element without default language'],
541  ],
542  307 => [
543  'header' => '[DK] UnHidden Element #4',
544  'image' => [],
545  ],
546  ],
547  ],
548  [
549  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
550  config.sys_language_mode = content_fallback',
551  'visibleRecords' => [
552  // todo same as #10
553  297 => [
554  'header' => '[Translate to Dansk:] Regular Element #1',
555  'image' => ['T3BOARD'],
556  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
557  ],
558  298 => [
559  'header' => 'Regular Element #2',
560  'image' => ['Kasper2'],
561  ],
562  299 => [
563  'header' => '[Translate to Dansk:] Regular Element #3',
564  'image' => ['Kasper']
565  ],
566  303 => [
567  'header' => '[DK] Without default language',
568  'image' => ['[T3BOARD] Image added to DK element without default language'],
569  ],
570  307 => [
571  'header' => '[DK] UnHidden Element #4',
572  'image' => [],
573  ],
574  ],
575  ],
576  [
577  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
578  config.sys_language_mode = content_fallback;1,0',
579  'visibleRecords' => [
580  // todo same as #10
581  297 => [
582  'header' => '[Translate to Dansk:] Regular Element #1',
583  'image' => ['T3BOARD'],
584  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
585  ],
586  298 => [
587  'header' => 'Regular Element #2',
588  'image' => ['Kasper2'],
589  ],
590  299 => [
591  'header' => '[Translate to Dansk:] Regular Element #3',
592  'image' => ['Kasper']
593  ],
594  303 => [
595  'header' => '[DK] Without default language',
596  'image' => ['[T3BOARD] Image added to DK element without default language'],
597  ],
598  307 => [
599  'header' => '[DK] UnHidden Element #4',
600  'image' => [],
601  ],
602  ],
603  ],
604  // Expected behaviour: Setting sys_language_mode = strict has the same effect as previous data sets,
605  // because the translation of the page exists
606  // This is not true in Extbase unfortunately. As visible here: sys_language_mode = strict, works like overlay = 0 in TypoScript rendering.
607  [
608  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
609  config.sys_language_mode = strict',
610  'visibleRecords' => [
611  // todo same as #10
612  297 => [
613  'header' => '[Translate to Dansk:] Regular Element #1',
614  'image' => [],
615  'categories' => ['[Translate to Dansk:] Category 1'],
616  ],
617  299 => [
618  'header' => '[Translate to Dansk:] Regular Element #3',
619  'image' => ['Kasper']
620  ],
621  303 => [
622  'header' => '[DK] Without default language',
623  'image' => ['[T3BOARD] Image added to DK element without default language'],
624  ],
625  ],
626  ],
627  [
628  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
629  config.sys_language_mode = ignore',
630  'visibleRecords' => [
631  // todo same as #10
632  297 => [
633  'header' => '[Translate to Dansk:] Regular Element #1',
634  'image' => ['T3BOARD'],
635  'categories' => ['[Translate to Dansk:] Category 1', 'Category 3 - not translated'],
636  ],
637  298 => [
638  'header' => 'Regular Element #2',
639  'image' => ['Kasper2'],
640  ],
641  299 => [
642  'header' => '[Translate to Dansk:] Regular Element #3',
643  'image' => ['Kasper']
644  ],
645  303 => [
646  'header' => '[DK] Without default language',
647  'image' => ['[T3BOARD] Image added to DK element without default language'],
648  ],
649  307 => [
650  'header' => '[DK] UnHidden Element #4',
651  'image' => [],
652  ],
653  ],
654  ],
655  ];
656  }
657 
665  public function ‪renderingOfDutchLanguage(string $typoScript, array $visibleRecords)
666  {
667  $this->addTypoScriptToTemplateRecord(1, $typoScript);
668  $frontendResponse = $this->getFrontendResponse(self::VALUE_PageId, 1);
669  $responseSections = $frontendResponse->getResponseSections('Extbase:list()');
670  $visibleHeaders = array_map(function ($element) {
671  return $element['header'];
672  }, $visibleRecords);
673 
674  $this->assertThat(
675  $responseSections,
677  ->setTable(self::TABLE_Content)
678  ->setField('header')
679  ->setValues(...$visibleHeaders)
680  );
681  $this->assertThat(
682  $responseSections,
684  ->setTable(self::TABLE_Content)
685  ->setField('header')
686  ->setValues(...$this->‪getNonVisibleHeaders($visibleHeaders))
687  );
688 
689  foreach ($visibleRecords as $ttContentUid => $properties) {
690  $visibleFileTitles = $properties['image'];
691  if (!empty($visibleFileTitles)) {
692  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
693  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('image')
694  ->setTable('sys_file_reference')->setField('title')->setValues(...$visibleFileTitles));
695  }
696  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
697  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('image')
698  ->setTable('sys_file_reference')->setField('title')->setValues(...$this->‪getNonVisibleFileTitles($visibleFileTitles)));
699 
700  $visibleCategoryTitles = $properties['categories'] ?? [];
701  if (!empty($visibleCategoryTitles)) {
702  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
703  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('categories')
704  ->setTable('sys_category')->setField('title')->setValues(...$visibleCategoryTitles));
705  }
706  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
707  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('categories')
708  ->setTable('sys_category')->setField('title')->setValues(...$this->‪getNonVisibleCategoryTitles($visibleCategoryTitles)));
709  }
710  }
711 
712  public function ‪contentOnNonTranslatedPageDataProvider(): array
713  {
714  //Expected behaviour:
715  //the page is NOT translated so setting sys_language_mode to different values changes the results
716  //- setting sys_language_mode to empty value makes TYPO3 return default language records
717  //- setting it to strict throws 404, independently from other settings
718  //Setting config.sys_language_overlay = 0
719  return [
720  [
721  'typoScript' => 'config.sys_language_overlay = 0
722  config.sys_language_mode =',
723  'visibleRecords' => [
724  297 => [
725  'header' => 'Regular Element #1',
726  'image' => ['T3BOARD'],
727  ],
728  298 => [
729  'header' => 'Regular Element #2',
730  'image' => ['Kasper2'],
731  ],
732  299 => [
733  'header' => 'Regular Element #3',
734  'image' => ['Kasper'],
735  ],
736  ],
737  ],
738  [
739  'typoScript' => 'config.sys_language_overlay = 0
740  config.sys_language_mode = content_fallback',
741  'visibleRecords' => [
742  297 => [
743  'header' => 'Regular Element #1',
744  'image' => ['T3BOARD'],
745  ],
746  298 => [
747  'header' => 'Regular Element #2',
748  'image' => ['Kasper2'],
749  ],
750  299 => [
751  'header' => 'Regular Element #3',
752  'image' => ['Kasper'],
753  ],
754  ],
755  ],
756  [
757  'typoScript' => 'config.sys_language_overlay = 0
758  config.sys_language_mode = content_fallback;1,0',
759  'visibleRecords' => [
760  // todo there is something wrong with the result
761  297 => [
762  'header' => '[Translate to Dansk:] Regular Element #1',
763  'image' => ['T3BOARD'],
764  ],
765  298 => [
766  'header' => 'Regular Element #2',
767  'image' => ['Kasper2'],
768  ],
769  299 => [
770  'header' => '[Translate to Dansk:] Regular Element #3',
771  'image' => ['Kasper']
772  ],
773  303 => [
774  'header' => '[DK] Without default language',
775  'image' => ['[T3BOARD] Image added to DK element without default language'],
776  ],
777  307 => [
778  'header' => '[DK] UnHidden Element #4',
779  'image' => [],
780  ],
781  ],
782  ],
783  [
784  'typoScript' => 'config.sys_language_overlay = 0
785  config.sys_language_mode = strict',
786  'visibleRecords' => [],
787  'statusCode' => 404,
788  ],
789  [
790  'typoScript' => 'config.sys_language_overlay = 0
791  config.sys_language_mode = ignore',
792  'visibleRecords' => [
793  // todo there is something wrong with the result
794  297 => [
795  'header' => '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1',
796  'image' => ['T3BOARD'],
797  ],
798  298 => [
799  'header' => 'Regular Element #2',
800  'image' => ['Kasper2'],
801  ],
802  299 => [
803  'header' => 'Regular Element #3',
804  'image' => ['Kasper']
805  ],
806  304 => [
807  'header' => '[DE] Without default language',
808  'image' => [],
809  ],
810  ],
811  ],
812  5 => [
813  'typoScript' => 'config.sys_language_overlay = 1
814  config.sys_language_mode =',
815  'visibleRecords' => [
816  297 => [
817  'header' => 'Regular Element #1',
818  'image' => ['T3BOARD'],
819  ],
820  298 => [
821  'header' => 'Regular Element #2',
822  'image' => ['Kasper2'],
823  ],
824  299 => [
825  'header' => 'Regular Element #3',
826  'image' => ['Kasper'],
827  ],
828  ],
829  ],
830  //falling back to default language
831  [
832  'typoScript' => 'config.sys_language_overlay = 1
833  config.sys_language_mode = content_fallback',
834  'visibleRecords' => [
835  297 => [
836  'header' => 'Regular Element #1',
837  'image' => ['T3BOARD'],
838  ],
839  298 => [
840  'header' => 'Regular Element #2',
841  'image' => ['Kasper2'],
842  ],
843  299 => [
844  'header' => 'Regular Element #3',
845  'image' => ['Kasper'],
846  ],
847  ],
848  ],
849  //Dutch elements are shown because of the content fallback 1,0 - first Dutch, then default language
850  //note that '[DK] Without default language' is NOT shown - due to overlays (fetch default language and overlay it with translations)
851  [
852  'typoScript' => 'config.sys_language_overlay = 1
853  config.sys_language_mode = content_fallback;1,0',
854  'visibleRecords' => [
855  297 => [
856  'header' => '[Translate to Dansk:] Regular Element #1',
857  'image' => ['T3BOARD'], // todo this is wrong and should contain both translated images for #1
858  ],
859  298 => [
860  'header' => 'Regular Element #2',
861  'image' => ['Kasper2'],
862  ],
863  299 => [
864  'header' => '[Translate to Dansk:] Regular Element #3',
865  'image' => ['Kasper'] // todo this is wrong and should contain both translated images for #3
866  ],
867  // todo those records shouldn't be here at all
868  303 => [
869  'header' => '[DK] Without default language',
870  'image' => ['[T3BOARD] Image added to DK element without default language'],
871  ],
872  307 => [
873  'header' => '[DK] UnHidden Element #4',
874  'image' => [],
875  ],
876  ],
877  ],
878  [
879  'typoScript' => 'config.sys_language_overlay = 1
880  config.sys_language_mode = strict',
881  'visibleRecords' => [],
882  'statusCode' => 404
883  ],
884  [
885  'typoScript' => 'config.sys_language_overlay = 1
886  config.sys_language_mode = ignore',
887  'visibleRecords' => [
888  297 => [
889  'header' => '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1',
890  'image' => ['T3BOARD'],
891  ],
892  298 => [
893  'header' => 'Regular Element #2',
894  'image' => ['Kasper2'],
895  ],
896  299 => [
897  'header' => 'Regular Element #3',
898  'image' => ['Kasper']
899  ],
900  304 => [
901  'header' => '[DE] Without default language',
902  'image' => [],
903  ],
904  ],
905  ],
906  10 => [
907  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
908  config.sys_language_mode =',
909  'visibleRecords' => [
910  297 => [
911  'header' => 'Regular Element #1',
912  'image' => ['T3BOARD'],
913  ],
914  298 => [
915  'header' => 'Regular Element #2',
916  'image' => ['Kasper2'],
917  ],
918  299 => [
919  'header' => 'Regular Element #3',
920  'image' => ['Kasper'],
921  ],
922  ],
923  ],
924  [
925  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
926  config.sys_language_mode = content_fallback',
927  'visibleRecords' => [
928  297 => [
929  'header' => 'Regular Element #1',
930  'image' => ['T3BOARD'],
931  ],
932  298 => [
933  'header' => 'Regular Element #2',
934  'image' => ['Kasper2'],
935  ],
936  299 => [
937  'header' => 'Regular Element #3',
938  'image' => ['Kasper'],
939  ],
940  ],
941  ],
942  [
943  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
944  config.sys_language_mode = content_fallback;1,0',
945  'visibleRecords' => [
946  // todo this is totally different to TS rendering, we shall see default content only
947  // because the page is not translated and we have content_fallback active
948  297 => [
949  'header' => '[Translate to Dansk:] Regular Element #1',
950  'image' => ['T3BOARD'],
951  ],
952  298 => [
953  'header' => 'Regular Element #2',
954  'image' => ['Kasper2'],
955  ],
956  299 => [
957  'header' => '[Translate to Dansk:] Regular Element #3',
958  'image' => ['Kasper']
959  ],
960  303 => [
961  'header' => '[DK] Without default language',
962  'image' => ['[T3BOARD] Image added to DK element without default language'],
963  ],
964  307 => [
965  'header' => '[DK] UnHidden Element #4',
966  'image' => [],
967  ],
968  ],
969  ],
970  [
971  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
972  config.sys_language_mode = strict',
973  'visibleRecords' => [],
974  'statusCode' => 404,
975  ],
976  [
977  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
978  config.sys_language_mode = ignore',
979  'visibleRecords' => [
980  297 => [
981  'header' => '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1',
982  'image' => ['T3BOARD'],
983  ],
984  298 => [
985  'header' => 'Regular Element #2',
986  'image' => ['Kasper2'],
987  ],
988  299 => [
989  'header' => 'Regular Element #3',
990  'image' => ['Kasper']
991  ],
992  304 => [
993  'header' => '[DE] Without default language',
994  'image' => [],
995  ],
996  ],
997  ],
998  ];
999  }
1000 
1011  public function ‪contentOnNonTranslatedPageGerman(string $typoScript, array $visibleRecords, int $statusCode = 200)
1012  {
1013  $this->addTypoScriptToTemplateRecord(1, $typoScript);
1014  $visibleHeaders = array_column($visibleRecords, 'header');
1015 
1016  $response = $this->executeFrontendRequest(
1017  (new InternalRequest())
1018  ->withPageId(self::VALUE_PageId)
1019  ->withLanguageId(2)
1020  );
1021 
1022  if ($statusCode === 200) {
1023  $responseSections = ResponseContent::fromString((string)$response->getBody())
1024  ->getSections('Extbase:list()');
1025  $this->assertThat(
1026  $responseSections,
1028  ->setTable(self::TABLE_Content)
1029  ->setField('header')
1030  ->setValues(...$visibleHeaders)
1031  );
1032  $this->assertThat(
1033  $responseSections,
1035  ->setTable(self::TABLE_Content)
1036  ->setField('header')
1037  ->setValues(...$this->‪getNonVisibleHeaders($visibleHeaders))
1038  );
1039 
1040  foreach ($visibleRecords as $ttContentUid => $properties) {
1041  $visibleFileTitles = $properties['image'];
1042  if (!empty($visibleFileTitles)) {
1043  $this->assertThat($responseSections, $this->‪getRequestSectionStructureHasRecordConstraint()
1044  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('image')
1045  ->setTable('sys_file_reference')->setField('title')->setValues(...$visibleFileTitles));
1046  }
1047  $this->assertThat($responseSections, $this->‪getRequestSectionStructureDoesNotHaveRecordConstraint()
1048  ->setRecordIdentifier(self::TABLE_Content . ':' . $ttContentUid)->setRecordField('image')
1049  ->setTable('sys_file_reference')->setField('title')->setValues(...$this->‪getNonVisibleFileTitles($visibleFileTitles)));
1050  }
1051  }
1052 
1053  $this->assertEquals($statusCode, $response->getStatusCode());
1054  }
1055 
1056  public function ‪contentOnPartiallyTranslatedPageDataProvider(): array
1057  {
1058 
1059  //Expected behaviour:
1060  //Setting sys_language_mode to different values doesn't influence the result as the requested page is translated to Polish,
1061  //Page title is always [PL]Page, and both sys_language_content and sys_language_uid are always 3
1062  return [
1063  [
1064  'typoScript' => 'config.sys_language_overlay = 0
1065  config.sys_language_mode =',
1066  'visibleRecordHeaders' => ['Regular Element #3', '[Translate to Polski:] Regular Element #1', '[PL] Without default language'],
1067  ],
1068  [
1069  'typoScript' => 'config.sys_language_overlay = 0
1070  config.sys_language_mode = content_fallback',
1071  'visibleRecordHeaders' => ['Regular Element #3', '[Translate to Polski:] Regular Element #1', '[PL] Without default language'],
1072  ],
1073  [
1074  'typoScript' => 'config.sys_language_overlay = 0
1075  config.sys_language_mode = content_fallback;1,0',
1076  'visibleRecordHeaders' => ['Regular Element #3', '[Translate to Polski:] Regular Element #1', '[PL] Without default language'],
1077  ],
1078  [
1079  'typoScript' => 'config.sys_language_overlay = 0
1080  config.sys_language_mode = strict',
1081  'visibleRecordHeaders' => ['[Translate to Polski:] Regular Element #1', '[PL] Without default language'],
1082  ],
1083  [
1084  'typoScript' => 'config.sys_language_overlay = 0
1085  config.sys_language_mode = ignore',
1086  'visibleRecordHeaders' => ['Regular Element #3', '[Translate to Polski:] Regular Element #1', '[PL] Without default language'],
1087  ],
1088  5 => [
1089  'typoScript' => 'config.sys_language_overlay = 1
1090  config.sys_language_mode =',
1091  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1', 'Regular Element #3'],
1092  ],
1093  // Expected behaviour:
1094  // Not translated element #2 is shown because sys_language_overlay = 1 (with sys_language_overlay = hideNonTranslated, it would be hidden)
1095  [
1096  'typoScript' => 'config.sys_language_overlay = 1
1097  config.sys_language_mode = content_fallback',
1098  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1', 'Regular Element #3'],
1099  ],
1100 // Expected behaviour:
1101 // Element #3 is not translated in PL and it is translated in DK. It's not shown as content_fallback is not related to single CE level
1102 // but on page level - and this page is translated to Polish, so no fallback is happening
1103  [
1104  'typoScript' => 'config.sys_language_overlay = 1
1105  config.sys_language_mode = content_fallback;1,0',
1106  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1', 'Regular Element #3'],
1107  ],
1108  [
1109  'typoScript' => 'config.sys_language_overlay = 1
1110  config.sys_language_mode = strict',
1111  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1'],
1112  ],
1113  [
1114  'typoScript' => 'config.sys_language_overlay = 1
1115  config.sys_language_mode = ignore',
1116  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1', 'Regular Element #3'],
1117  ],
1118  // Expected behaviour:
1119  // Non translated default language elements are not shown, because of hideNonTranslated
1120  10 => [
1121  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
1122  config.sys_language_mode =',
1123  'visibleRecordHeaders' => ['[PL] Without default language', 'Regular Element #3', '[Translate to Polski:] Regular Element #1'],
1124  ],
1125  [
1126  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
1127  config.sys_language_mode = content_fallback',
1128  'visibleRecordHeaders' => ['[PL] Without default language', 'Regular Element #3', '[Translate to Polski:] Regular Element #1'],
1129  ],
1130  [
1131  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
1132  config.sys_language_mode = content_fallback;1,0',
1133  'visibleRecordHeaders' => ['[PL] Without default language', 'Regular Element #3', '[Translate to Polski:] Regular Element #1'],
1134  ],
1135  [
1136  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
1137  config.sys_language_mode = strict',
1138  'visibleRecordHeaders' => ['[PL] Without default language', '[Translate to Polski:] Regular Element #1'],
1139  ],
1140  [
1141  'typoScript' => 'config.sys_language_overlay = hideNonTranslated
1142  config.sys_language_mode = ignore',
1143  'visibleRecordHeaders' => ['[PL] Without default language', 'Regular Element #3', '[Translate to Polski:] Regular Element #1'],
1144  ]
1145  ];
1146  }
1147 
1157  public function ‪contentOnPartiallyTranslatedPage(string $typoScript, array $visibleHeaders)
1158  {
1159  $this->addTypoScriptToTemplateRecord(1, $typoScript);
1160 
1161  $frontendResponse = $this->getFrontendResponse(self::VALUE_PageId, 3);
1162  $this->assertEquals('success', $frontendResponse->getStatus());
1163  $responseSections = $frontendResponse->getResponseSections('Extbase:list()');
1164 
1165  $this->assertThat(
1166  $responseSections,
1168  ->setTable(self::TABLE_Content)
1169  ->setField('header')
1170  ->setValues(...$visibleHeaders)
1171  );
1172  $this->assertThat(
1173  $responseSections,
1175  ->setTable(self::TABLE_Content)
1176  ->setField('header')
1177  ->setValues(...$this->‪getNonVisibleHeaders($visibleHeaders))
1178  );
1179  }
1187  protected function ‪getNonVisibleHeaders(array $visibleHeaders): array
1188  {
1189  $allElements = [
1190  'Regular Element #1',
1191  'Regular Element #2',
1192  'Regular Element #3',
1193  'Hidden Element #4',
1194  '[Translate to Dansk:] Regular Element #1',
1195  '[Translate to Dansk:] Regular Element #3',
1196  '[DK] Without default language',
1197  '[DK] UnHidden Element #4',
1198  '[DE] Without default language',
1199  '[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1',
1200  '[Translate to Polski:] Regular Element #1',
1201  '[PL] Without default language',
1202  '[PL] Hidden Regular Element #2'
1203  ];
1204  return array_diff($allElements, $visibleHeaders);
1205  }
1213  protected function ‪getNonVisibleFileTitles(array $visibleTitles): array
1214  {
1215  $allElements = [
1216  'T3BOARD',
1217  'Kasper',
1218  '[Kasper] Image translated to Dansk',
1219  '[T3BOARD] Image added in Dansk (without parent)',
1220  '[T3BOARD] Image added to DK element without default language',
1221  '[T3BOARD] image translated to DE from DK',
1222  'Kasper2'
1223  ];
1224  return array_diff($allElements, $visibleTitles);
1225  }
1233  protected function ‪getNonVisibleCategoryTitles(array $visibleTitles): array
1234  {
1235  $allElements = [
1236  'Category 1',
1237  '[Translate to Dansk:] Category 1',
1238  'Category 3 - not translated',
1239  'Category 4',
1240  ];
1241  return array_diff($allElements, $visibleTitles);
1242  }
1243 }
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\dutchDataProvider
‪array dutchDataProvider()
Definition: TranslatedContentLegacyTest.php:232
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$scenarioDataSetDirectory
‪string $scenarioDataSetDirectory
Definition: TranslatedContentLegacyTest.php:38
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$testExtensionsToLoad
‪array $testExtensionsToLoad
Definition: TranslatedContentLegacyTest.php:42
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$coreExtensionsToLoad
‪array $coreExtensionsToLoad
Definition: TranslatedContentLegacyTest.php:46
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\getRequestSectionHasRecordConstraint
‪HasRecordConstraint getRequestSectionHasRecordConstraint()
Definition: AbstractDataHandlerActionTestCase.php:174
‪TYPO3\CMS\Extbase\Annotation
Definition: IgnoreValidation.php:4
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$objectManager
‪TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
Definition: TranslatedContentLegacyTest.php:50
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\getRequestSectionStructureHasRecordConstraint
‪StructureHasRecordConstraint getRequestSectionStructureHasRecordConstraint()
Definition: AbstractDataHandlerActionTestCase.php:190
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\TABLE_Content
‪const TABLE_Content
Definition: TranslatedContentLegacyTest.php:33
‪TYPO3
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\VALUE_PageId
‪const VALUE_PageId
Definition: TranslatedContentLegacyTest.php:32
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\TABLE_Pages
‪const TABLE_Pages
Definition: TranslatedContentLegacyTest.php:34
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$pathsToLinkInTestInstance
‪array $pathsToLinkInTestInstance
Definition: TranslatedContentLegacyTest.php:69
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\tearDown
‪tearDown()
Definition: TranslatedContentLegacyTest.php:93
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\getRequestSectionStructureDoesNotHaveRecordConstraint
‪StructureDoesNotHaveRecordConstraint getRequestSectionStructureDoesNotHaveRecordConstraint()
Definition: AbstractDataHandlerActionTestCase.php:198
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\defaultLanguageConfigurationDataProvider
‪defaultLanguageConfigurationDataProvider()
Definition: TranslatedContentLegacyTest.php:100
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest
Definition: TranslatedContentLegacyTest.php:31
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase
Definition: AbstractDataHandlerActionTestCase.php:33
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\getNonVisibleFileTitles
‪array getNonVisibleFileTitles(array $visibleTitles)
Definition: TranslatedContentLegacyTest.php:1206
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\contentOnPartiallyTranslatedPage
‪contentOnPartiallyTranslatedPage(string $typoScript, array $visibleHeaders)
Definition: TranslatedContentLegacyTest.php:1150
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$contentRepository
‪ExtbaseTeam BlogExample Domain Repository TtContentRepository $contentRepository
Definition: TranslatedContentLegacyTest.php:54
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\renderingOfDutchLanguage
‪renderingOfDutchLanguage(string $typoScript, array $visibleRecords)
Definition: TranslatedContentLegacyTest.php:658
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence
Definition: AddTest.php:2
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\contentOnPartiallyTranslatedPageDataProvider
‪contentOnPartiallyTranslatedPageDataProvider()
Definition: TranslatedContentLegacyTest.php:1049
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\getRequestSectionDoesNotHaveRecordConstraint
‪DoesNotHaveRecordConstraint getRequestSectionDoesNotHaveRecordConstraint()
Definition: AbstractDataHandlerActionTestCase.php:182
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\getNonVisibleCategoryTitles
‪array getNonVisibleCategoryTitles(array $visibleTitles)
Definition: TranslatedContentLegacyTest.php:1226
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\setUp
‪setUp()
Definition: TranslatedContentLegacyTest.php:74
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\contentOnNonTranslatedPageDataProvider
‪contentOnNonTranslatedPageDataProvider()
Definition: TranslatedContentLegacyTest.php:705
‪ExtbaseTeam
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\$configurationToUseInTestInstance
‪array $configurationToUseInTestInstance
Definition: TranslatedContentLegacyTest.php:61
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\contentOnNonTranslatedPageGerman
‪contentOnNonTranslatedPageGerman(string $typoScript, array $visibleRecords, int $statusCode=200)
Definition: TranslatedContentLegacyTest.php:1004
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\onlyEnglishContentIsRenderedForDefaultLanguage
‪onlyEnglishContentIsRenderedForDefaultLanguage(string $typoScript)
Definition: TranslatedContentLegacyTest.php:175
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\importScenarioDataSet
‪importScenarioDataSet($dataSetName)
Definition: AbstractDataHandlerActionTestCase.php:117
‪TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslatedContentLegacyTest\getNonVisibleHeaders
‪array getNonVisibleHeaders(array $visibleHeaders)
Definition: TranslatedContentLegacyTest.php:1180