123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- <?php
- declare(strict_types=1);
- /**
- * This file is part of the Carbon package.
- *
- * (c) Brian Nesbitt <brian@nesbot.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Tests\Language;
- use Carbon\Language;
- use Tests\AbstractTestCase;
- class LanguageTest extends AbstractTestCase
- {
- public function testAll()
- {
- $all = Language::all();
- $this->assertIsArray($all);
- $this->assertArrayHasKey('en', $all);
- $this->assertIsArray($all['en']);
- $this->assertArrayHasKey('isoName', $all['en']);
- $this->assertSame('English', $all['en']['isoName']);
- }
- public function testRegions()
- {
- $regions = Language::regions();
- $this->assertIsArray($regions);
- $this->assertArrayHasKey('US', $regions);
- $this->assertSame('United States of America', $regions['US']);
- }
- public function testGetNames()
- {
- $ar = new Language('ar');
- $this->assertSame([
- 'isoName' => 'Arabic',
- 'nativeName' => 'العربية',
- ], $ar->getNames());
- }
- public function testGetId()
- {
- $ar = new Language('ar');
- $this->assertSame('ar', $ar->getId());
- $ar = new Language('ar_DZ');
- $this->assertSame('ar_DZ', $ar->getId());
- $ar = new Language('ar_Shakl');
- $this->assertSame('ar_Shakl', $ar->getId());
- }
- public function testGetCode()
- {
- $ar = new Language('ar');
- $this->assertSame('ar', $ar->getCode());
- $ar = new Language('ar_DZ');
- $this->assertSame('ar', $ar->getCode());
- $ar = new Language('ar_Shakl');
- $this->assertSame('ar', $ar->getCode());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('sr', $sr->getCode());
- }
- public function testGetVariant()
- {
- $ar = new Language('ar');
- $this->assertNull($ar->getVariant());
- $ar = new Language('ar_DZ');
- $this->assertNull($ar->getVariant());
- $ar = new Language('ar_Shakl');
- $this->assertSame('Shakl', $ar->getVariant());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Cyrl', $sr->getVariant());
- }
- public function testGetRegion()
- {
- $ar = new Language('ar');
- $this->assertNull($ar->getRegion());
- $ar = new Language('ar_DZ');
- $this->assertSame('DZ', $ar->getRegion());
- $ar = new Language('ar_Shakl');
- $this->assertNull($ar->getRegion());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('ME', $sr->getRegion());
- }
- public function testGetRegionName()
- {
- $ar = new Language('ar');
- $this->assertNull($ar->getRegionName());
- $ar = new Language('ar_DZ');
- $this->assertSame('Algeria', $ar->getRegionName());
- $ar = new Language('ar_Shakl');
- $this->assertNull($ar->getRegionName());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Montenegro', $sr->getRegionName());
- }
- public function testGetFullIsoName()
- {
- $ar = new Language('ca');
- $this->assertSame('Catalan, Valencian', $ar->getFullIsoName());
- $this->assertSame('Catalan, Valencian', $ar->getFullIsoName());
- $ar = new Language('ar_DZ');
- $this->assertSame('Arabic', $ar->getFullIsoName());
- $gom = new Language('gom_Latn');
- $this->assertSame('Konkani, Goan', $gom->getFullIsoName());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo', $foo->getFullIsoName());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Serbian', $sr->getFullIsoName());
- }
- public function testGetFullNativeName()
- {
- $ar = new Language('ca');
- $this->assertSame('català, valencià', $ar->getFullNativeName());
- $this->assertSame('català, valencià', $ar->getFullNativeName());
- $ar = new Language('ar_DZ');
- $this->assertSame('العربية', $ar->getFullNativeName());
- $gom = new Language('gom_Latn');
- $this->assertSame('ಕೊಂಕಣಿ', $gom->getFullNativeName());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo', $foo->getFullNativeName());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('српски језик', $sr->getFullNativeName());
- }
- public function testGetIsoName()
- {
- $ar = new Language('ca');
- $this->assertSame('Catalan', $ar->getIsoName());
- $this->assertSame('Catalan', $ar->getIsoName());
- $ar = new Language('ar_DZ');
- $this->assertSame('Arabic', $ar->getIsoName());
- $gom = new Language('gom_Latn');
- $this->assertSame('Konkani', $gom->getIsoName());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo', $foo->getIsoName());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Serbian', $sr->getIsoName());
- }
- public function testGetNativeName()
- {
- $ar = new Language('ca');
- $this->assertSame('català', $ar->getNativeName());
- $this->assertSame('català', $ar->getNativeName());
- $ar = new Language('ar_DZ');
- $this->assertSame('العربية', $ar->getNativeName());
- $gom = new Language('gom_Latn');
- $this->assertSame('ಕೊಂಕಣಿ', $gom->getNativeName());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo', $foo->getNativeName());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('српски језик', $sr->getNativeName());
- }
- public function testGetIsoDescription()
- {
- $ar = new Language('ca');
- $this->assertSame('Catalan', $ar->getIsoDescription());
- $this->assertSame('Catalan', $ar->getIsoDescription());
- $ar = new Language('ar_DZ');
- $this->assertSame('Arabic (Algeria)', $ar->getIsoDescription());
- $gom = new Language('gom_Latn');
- $this->assertSame('Konkani (Latin)', $gom->getIsoDescription());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo (Latin)', $foo->getIsoDescription());
- $foo->setNativeName('Foobar, Barbiz');
- $this->assertSame('foo (Latin)', $foo->getIsoDescription());
- $foo->setIsoName('Foobar, Barbiz');
- $this->assertSame('Foobar (Latin)', $foo->getIsoDescription());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Serbian (Montenegro) (Cyrillic)', $sr->getIsoDescription());
- }
- public function testGetNativeDescription()
- {
- $ar = new Language('ca');
- $this->assertSame('català', $ar->getNativeDescription());
- $this->assertSame('català', $ar->getNativeDescription());
- $ar = new Language('ar_DZ');
- $this->assertSame('العربية (Algeria)', $ar->getNativeDescription());
- $gom = new Language('gom_Latn');
- $this->assertSame('ಕೊಂಕಣಿ (Latin)', $gom->getNativeDescription());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo (Latin)', $foo->getNativeDescription());
- $foo->setIsoName('Foobar, Barbiz');
- $this->assertSame('foo (Latin)', $foo->getNativeDescription());
- $foo->setNativeName('Foobar, Barbiz');
- $this->assertSame('Foobar (Latin)', $foo->getNativeDescription());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('српски језик (Montenegro) (Cyrillic)', $sr->getNativeDescription());
- }
- public function testGetFullIsoDescription()
- {
- $ar = new Language('ca');
- $this->assertSame('Catalan, Valencian', $ar->getFullIsoDescription());
- $this->assertSame('Catalan, Valencian', $ar->getFullIsoDescription());
- $ar = new Language('ar_DZ');
- $this->assertSame('Arabic (Algeria)', $ar->getFullIsoDescription());
- $gom = new Language('gom_Latn');
- $this->assertSame('Konkani, Goan (Latin)', $gom->getFullIsoDescription());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo (Latin)', $foo->getFullIsoDescription());
- $foo->setNativeName('Foobar, Barbiz');
- $this->assertSame('foo (Latin)', $foo->getFullIsoDescription());
- $foo->setIsoName('Foobar, Barbiz');
- $this->assertSame('Foobar, Barbiz (Latin)', $foo->getFullIsoDescription());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('Serbian (Montenegro) (Cyrillic)', $sr->getFullIsoDescription());
- }
- public function testGetFullNativeDescription()
- {
- $ar = new Language('ca');
- $this->assertSame('català, valencià', $ar->getFullNativeDescription());
- $this->assertSame('català, valencià', $ar->getFullNativeDescription());
- $ar = new Language('ar_DZ');
- $this->assertSame('العربية (Algeria)', $ar->getFullNativeDescription());
- $gom = new Language('gom_Latn');
- $this->assertSame('ಕೊಂಕಣಿ (Latin)', $gom->getFullNativeDescription());
- $foo = new Language('foo_Latn');
- $this->assertSame('foo (Latin)', $foo->getFullNativeDescription());
- $foo->setIsoName('Foobar, Barbiz');
- $this->assertSame('foo (Latin)', $foo->getFullNativeDescription());
- $foo->setNativeName('Foobar, Barbiz');
- $this->assertSame('Foobar, Barbiz (Latin)', $foo->getFullNativeDescription());
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('српски језик (Montenegro) (Cyrillic)', $sr->getFullNativeDescription());
- }
- public function testToString()
- {
- $ar = new Language('ar');
- $this->assertSame('ar', (string) $ar);
- $ar = new Language('ar_DZ');
- $this->assertSame('ar_DZ', (string) $ar);
- $ar = new Language('ar_Shakl');
- $this->assertSame('ar_Shakl', (string) $ar);
- }
- public function testToJson()
- {
- $ar = new Language('ca');
- $this->assertSame('"Catalan"', json_encode($ar));
- $this->assertSame('"Catalan"', json_encode($ar));
- $ar = new Language('ar_DZ');
- $this->assertSame('"Arabic (Algeria)"', json_encode($ar));
- $gom = new Language('gom_Latn');
- $this->assertSame('"Konkani (Latin)"', json_encode($gom));
- $foo = new Language('foo_Latn');
- $this->assertSame('"foo (Latin)"', json_encode($foo));
- $foo->setNativeName('Foobar, Barbiz');
- $this->assertSame('"foo (Latin)"', json_encode($foo));
- $foo->setIsoName('Foobar, Barbiz');
- $this->assertSame('"Foobar (Latin)"', json_encode($foo));
- $sr = new Language('sr_Cyrl_ME');
- $this->assertSame('"Serbian (Montenegro) (Cyrillic)"', json_encode($sr));
- }
- }
|