‪TYPO3CMS  11.5
LocaleTest.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 
21 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
22 
23 class ‪LocaleTest extends UnitTestCase
24 {
29  {
30  $subject = new ‪Locale('en');
31  self::assertNull($subject->getLanguageScriptCode());
32  self::assertNull($subject->getCountryCode());
33  self::assertEquals('en', $subject->getLanguageCode());
34  self::assertEquals('en', (string)$subject);
35 
36  $subject = new ‪Locale('C');
37  self::assertNull($subject->getLanguageScriptCode());
38  self::assertNull($subject->getCountryCode());
39  self::assertEquals('en', $subject->getLanguageCode());
40  self::assertEquals('C', $subject->getPosixCodeSet());
41  self::assertEquals('C', $subject->posixFormatted());
42  self::assertEquals('en', (string)$subject);
43 
44  $subject = new ‪Locale('de_DE.UTF-8');
45  self::assertNull($subject->getLanguageScriptCode());
46  self::assertEquals('DE', $subject->getCountryCode());
47  self::assertEquals('de', $subject->getLanguageCode());
48  self::assertEquals('de-DE', (string)$subject);
49  self::assertEquals('de_DE.UTF-8', $subject->posixFormatted());
50 
51  $subject = new ‪Locale('de_DE@euro');
52  self::assertNull($subject->getLanguageScriptCode());
53  self::assertEquals('DE', $subject->getCountryCode());
54  self::assertEquals('de', $subject->getLanguageCode());
55  self::assertEquals('de-DE', (string)$subject);
56  self::assertEquals('de_DE@euro', $subject->posixFormatted());
57 
58  // Also with mixed case
59  $subject = new ‪Locale('eN');
60  self::assertNull($subject->getLanguageScriptCode());
61  self::assertNull($subject->getCountryCode());
62  self::assertEquals('en', $subject->getLanguageCode());
63  self::assertEquals('en', (string)$subject);
64  }
65 
70  {
71  $subject = new ‪Locale('zh_HANS');
72  self::assertEquals('Hans', $subject->getLanguageScriptCode());
73  self::assertNull($subject->getCountryCode());
74  self::assertEquals('zh', $subject->getLanguageCode());
75  self::assertEquals('zh-Hans', (string)$subject);
76  }
77 
82  {
83  $subject = new ‪Locale('zh_HANS_CN');
84  self::assertEquals('Hans', $subject->getLanguageScriptCode());
85  self::assertEquals('CN', $subject->getCountryCode());
86  self::assertEquals('zh', $subject->getLanguageCode());
87  self::assertEquals('zh-Hans-CN', (string)$subject);
88  }
89 
94  {
95  $subject = new ‪Locale('fr_CA');
96  self::assertNull($subject->getLanguageScriptCode());
97  self::assertEquals('CA', $subject->getCountryCode());
98  self::assertEquals('fr', $subject->getLanguageCode());
99  self::assertEquals('fr-CA', (string)$subject);
100  $subject = new ‪Locale('de-AT');
101  self::assertNull($subject->getLanguageScriptCode());
102  self::assertEquals('AT', $subject->getCountryCode());
103  self::assertEquals('de', $subject->getLanguageCode());
104  self::assertEquals('de-AT', (string)$subject);
105  }
106 
111  {
112  $subject = new ‪Locale('fr_CA', ['fr', 'en']);
113  self::assertNull($subject->getLanguageScriptCode());
114  self::assertEquals('CA', $subject->getCountryCode());
115  self::assertEquals('fr', $subject->getLanguageCode());
116  self::assertEquals(['fr', 'en'], $subject->getDependencies());
117  self::assertEquals('fr-CA', (string)$subject);
118  $subject = new ‪Locale('en-US', ['en-UK', 'en']);
119  self::assertNull($subject->getLanguageScriptCode());
120  self::assertEquals('US', $subject->getCountryCode());
121  self::assertEquals('en', $subject->getLanguageCode());
122  self::assertEquals(['en-UK', 'en'], $subject->getDependencies());
123  self::assertEquals('en-US', (string)$subject);
124  }
125 }
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest\localeWithJustLanguageCodeSanitizesIncomingValuesProperly
‪localeWithJustLanguageCodeSanitizesIncomingValuesProperly()
Definition: LocaleTest.php:28
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest\localeWithLanguageAndScriptCodeSanitizesIncomingValuesProperly
‪localeWithLanguageAndScriptCodeSanitizesIncomingValuesProperly()
Definition: LocaleTest.php:69
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest\localeWithLanguageAndScriptCodeAndCountryCodeSanitizesIncomingValuesProperly
‪localeWithLanguageAndScriptCodeAndCountryCodeSanitizesIncomingValuesProperly()
Definition: LocaleTest.php:81
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest
Definition: LocaleTest.php:24
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest\dependenciesAreSetAndRetrievedCorrectly
‪dependenciesAreSetAndRetrievedCorrectly()
Definition: LocaleTest.php:110
‪TYPO3\CMS\Core\Tests\Unit\Localization
Definition: LocalesTest.php:18
‪TYPO3\CMS\Core\Localization\Locale
Definition: Locale.php:30
‪TYPO3\CMS\Core\Tests\Unit\Localization\LocaleTest\variousCombinationsOfLanguageAndCountryCodeReturnsSanitizedValues
‪variousCombinationsOfLanguageAndCountryCodeReturnsSanitizedValues()
Definition: LocaleTest.php:93