‪TYPO3CMS  11.5
SlugHelperTest.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 
23 
28 {
33  protected ‪$siteLanguageConfiguration = [
34  1 => [
35  'title' => 'Dansk',
36  'enabled' => true,
37  'languageId' => 1,
38  'base' => '/dk/',
39  'typo3Language' => 'dk',
40  'locale' => 'da_DK.UTF-8',
41  'iso-639-1' => 'da',
42  'flag' => 'dk',
43  'fallbackType' => 'fallback',
44  'fallbacks' => '0',
45  ],
46  2 => [
47  'title' => 'Deutsch',
48  'enabled' => true,
49  'languageId' => 2,
50  'base' => '/de/',
51  'typo3Language' => 'de',
52  'locale' => 'de_DE.UTF-8',
53  'iso-639-1' => 'de',
54  'flag' => 'de',
55  'fallbackType' => 'fallback',
56  'fallbacks' => '0',
57  ],
58  3 => [
59  'title' => 'Schweizer Deutsch',
60  'enabled' => true,
61  'languageId' => 3,
62  'base' => '/de-ch/',
63  'typo3Language' => 'ch',
64  'locale' => 'de_CH.UTF-8',
65  'iso-639-1' => 'ch',
66  'flag' => 'ch',
67  'fallbackType' => 'fallback',
68  'fallbacks' => '2,0',
69  ],
70  ];
71 
72  protected ‪$testExtensionsToLoad = [
73  'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial',
74  ];
75 
76  protected function ‪setUp(): void
77  {
78  parent::setUp();
79 
80  $this->importCSVDataSet(__DIR__ . '/DataSet/Pages.csv');
81  $this->‪setUpFrontendSite(1, $this->siteLanguageConfiguration);
82  $this->setUpFrontendRootPage(1, ['typo3/sysext/core/Tests/Functional/Fixtures/Frontend/JsonRenderer.typoscript']);
83  }
84 
88  public function ‪verifyCleanReferenceIndex(): void
89  {
90  // The test verifies the imported data set has a clean reference index by the check in tearDown()
91  self::assertTrue(true);
92  }
93 
109  {
110  return [
111  'default page / default parent' => [
112  '/default-parent/default-page',
113  [
114  'uid' => '13',
115  'title' => 'Default Page',
116  'sys_language_uid' => 0,
117  ],
118  ],
119  'Dansk page / default parent' => [
120  '/default-parent/dansk-page',
121  [
122  'uid' => '13',
123  'title' => 'Dansk Page',
124  'sys_language_uid' => 1,
125  ],
126  ],
127  'german page / german parent' => [
128  '/german-parent/german-page',
129  [
130  'uid' => '13',
131  'title' => 'German Page',
132  'sys_language_uid' => 2,
133  ],
134  ],
135  'swiss page / german fallback parent' => [
136  '/german-parent/swiss-page',
137  [
138  'uid' => '13',
139  'title' => 'Swiss Page',
140  'sys_language_uid' => 3,
141  ],
142  ],
143  ];
144  }
145 
152  public function ‪generateRespectsFallbackLanguageOfParentPageSlug(string $expected, array $page): void
153  {
154  $slugHelper = GeneralUtility::makeInstance(
155  SlugHelper::class,
156  'pages',
157  'slug',
158  [
159  'generatorOptions' => [
160  'fields' => ['title'],
161  'prefixParentPageSlug' => true,
162  ],
163  ]
164  );
165 
166  self::assertEquals(
167  $expected,
168  $slugHelper->generate(
169  [
170  'title' => $page['title'],
171  'uid' => $page['uid'],
172  'sys_language_uid' => $page['sys_language_uid'],
173  ],
174  (int)$page['uid']
175  )
176  );
177  }
178 }
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest
Definition: SlugHelperTest.php:28
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\setUp
‪setUp()
Definition: SlugHelperTest.php:75
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\$siteLanguageConfiguration
‪array $siteLanguageConfiguration
Definition: SlugHelperTest.php:32
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug
Definition: SlugHelperTest.php:18
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase\setUpFrontendSite
‪setUpFrontendSite(int $pageId, array $additionalLanguages=[])
Definition: AbstractDataHandlerActionTestCase.php:127
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\verifyCleanReferenceIndex
‪verifyCleanReferenceIndex()
Definition: SlugHelperTest.php:87
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase
Definition: AbstractDataHandlerActionTestCase.php:41
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\generateRespectsFallbackLanguageOfParentPageSlug
‪generateRespectsFallbackLanguageOfParentPageSlug(string $expected, array $page)
Definition: SlugHelperTest.php:151
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\generateRespectsFallbackLanguageOfParentPageSlugDataProvider
‪array generateRespectsFallbackLanguageOfParentPageSlugDataProvider()
Definition: SlugHelperTest.php:107
‪TYPO3\CMS\Core\DataHandling\SlugHelper
Definition: SlugHelper.php:43
‪TYPO3\CMS\Core\Tests\Functional\DataHandling\Slug\SlugHelperTest\$testExtensionsToLoad
‪$testExtensionsToLoad
Definition: SlugHelperTest.php:71
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50