diff options
Diffstat (limited to 'tests/units/Model/LanguageTest.php')
| -rw-r--r-- | tests/units/Model/LanguageTest.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/units/Model/LanguageTest.php b/tests/units/Model/LanguageTest.php new file mode 100644 index 00000000..4330c3c8 --- /dev/null +++ b/tests/units/Model/LanguageTest.php @@ -0,0 +1,58 @@ +<?php + +use Kanboard\Model\LanguageModel; + +require_once __DIR__.'/../Base.php'; + +class LanguageTest extends Base +{ + public function testGetCodes() + { + $codes = LanguageModel::getCodes(); + $this->assertContains('fr_FR', $codes); + $this->assertContains('en_US', $codes); + } + + public function testFindCode() + { + $this->assertSame('', LanguageModel::findCode('xx-XX')); + $this->assertSame('fr_FR', LanguageModel::findCode('fr-FR')); + $this->assertSame('en_US', LanguageModel::findCode('en-US')); + } + + public function testGetJsLanguage() + { + $languageModel = new LanguageModel($this->container); + $this->assertEquals('en', $languageModel->getJsLanguageCode()); + + $this->container['sessionStorage']->user = array('language' => 'fr_FR'); + $this->assertEquals('fr', $languageModel->getJsLanguageCode()); + + $this->container['sessionStorage']->user = array('language' => 'xx_XX'); + $this->assertEquals('en', $languageModel->getJsLanguageCode()); + } + + public function testGetCurrentLanguage() + { + $languageModel = new LanguageModel($this->container); + $this->assertEquals('en_US', $languageModel->getCurrentLanguage()); + + $this->container['sessionStorage']->user = array('language' => 'fr_FR'); + $this->assertEquals('fr_FR', $languageModel->getCurrentLanguage()); + + $this->container['sessionStorage']->user = array('language' => 'xx_XX'); + $this->assertEquals('xx_XX', $languageModel->getCurrentLanguage()); + } + + public function testGetLanguages() + { + $languageModel = new LanguageModel($this->container); + $this->assertNotEmpty($languageModel->getLanguages()); + $this->assertArrayHasKey('fr_FR', $languageModel->getLanguages()); + $this->assertContains('Français', $languageModel->getLanguages()); + $this->assertArrayNotHasKey('', $languageModel->getLanguages()); + + $this->assertArrayHasKey('', $languageModel->getLanguages(true)); + $this->assertContains('Application default', $languageModel->getLanguages(true)); + } +} |
