From 8c95642e0fe8402fced4c300f1ecac38debd6b02 Mon Sep 17 00:00:00 2001 From: Hanne Moa <hanne.moa@uninett.no> Date: Tue, 15 Nov 2016 12:21:16 +0100 Subject: [PATCH] Fix tests depending on Language->language_names --- tests/lib/SimpleSAML/Locale/LanguageTest.php | 62 +++++++++++++------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/tests/lib/SimpleSAML/Locale/LanguageTest.php b/tests/lib/SimpleSAML/Locale/LanguageTest.php index d6e6c815e..7072a4930 100644 --- a/tests/lib/SimpleSAML/Locale/LanguageTest.php +++ b/tests/lib/SimpleSAML/Locale/LanguageTest.php @@ -20,11 +20,11 @@ class LanguageTest extends \PHPUnit_Framework_TestCase // test defaults coming from configuration $c = \SimpleSAML_Configuration::loadFromArray(array( - 'language.available' => array('xx', 'yy', 'zz'), - 'language.default' => 'yy', + 'language.available' => array('en', 'es', 'nn'), + 'language.default' => 'es', )); $l = new Language($c); - $this->assertEquals('yy', $l->getDefaultLanguage()); + $this->assertEquals('es', $l->getDefaultLanguage()); } @@ -44,39 +44,61 @@ class LanguageTest extends \PHPUnit_Framework_TestCase // test that it works with non-defaults \SimpleSAML_Configuration::loadFromArray(array( - 'language.available' => array('xx', 'yy', 'zz'), + 'language.available' => array('en', 'es', 'nn'), 'language.cookie.name' => 'xyz' ), '', 'simplesaml'); - $_COOKIE['xyz'] = 'Yy'; // test values are converted to lowercase too - $this->assertEquals('yy', Language::getLanguageCookie()); + $_COOKIE['xyz'] = 'Es'; // test values are converted to lowercase too + $this->assertEquals('es', Language::getLanguageCookie()); } /** * Test SimpleSAML\Locale\Language::getLanguageList(). */ - public function testGetLanguageList() + public function testGetLanguageListNoConfig() { // test defaults $c = \SimpleSAML_Configuration::loadFromArray(array(), '', 'simplesaml'); $l = new Language($c); $l->setLanguage('en'); $this->assertEquals(array('en' => true), $l->getLanguageList()); + } + - // test non-defaults + /** + * Test SimpleSAML\Locale\Language::getLanguageList(). + */ + public function testGetLanguageListCorrectConfig() + { + // test langs from from language_names $c = \SimpleSAML_Configuration::loadFromArray(array( - 'language.available' => array('xx', 'yy', 'zz'), + 'language.available' => array('en', 'nn', 'es'), ), '', 'simplesaml'); $l = new Language($c); - $l->setLanguage('yy'); + $l->setLanguage('es'); $this->assertEquals(array( - 'xx' => false, - 'yy' => true, - 'zz' => false, + 'en' => false, + 'es' => true, + 'nn' => false, ), $l->getLanguageList()); } + /** + * Test SimpleSAML\Locale\Language::getLanguageList(). + */ + public function testGetLanguageListIncorrectConfig() + { + // test non-existent langs + $c = \SimpleSAML_Configuration::loadFromArray(array( + 'language.available' => array('foo', 'bar'), + ), '', 'simplesaml'); + $l = new Language($c); + $l->setLanguage('foo'); + $this->assertEquals(array('en' => true), $l->getLanguageList()); + } + + /** * Test SimpleSAML\Locale\Language::getLanguageParameterName(). */ @@ -109,7 +131,7 @@ class LanguageTest extends \PHPUnit_Framework_TestCase // test non-defaults, non-RTL $c = \SimpleSAML_Configuration::loadFromArray(array( - 'language.rtl' => array('xx', 'yy', 'zz'), + 'language.rtl' => array('foo', 'bar'), ), '', 'simplesaml'); $l = new Language($c); $l->setLanguage('en'); @@ -117,11 +139,11 @@ class LanguageTest extends \PHPUnit_Framework_TestCase // test non-defaults, RTL $c = \SimpleSAML_Configuration::loadFromArray(array( - 'language.available' => array('xx', 'yy', 'zz', 'en'), - 'language.rtl' => array('xx', 'yy'), + 'language.available' => array('en', 'nn', 'es'), + 'language.rtl' => array('nn', 'es'), ), '', 'simplesaml'); $l = new Language($c); - $l->setLanguage('yy'); + $l->setLanguage('es'); $this->assertTrue($l->isLanguageRTL()); } @@ -133,13 +155,13 @@ class LanguageTest extends \PHPUnit_Framework_TestCase { // test with valid configuration, no cookies set $c = \SimpleSAML_Configuration::loadFromArray(array( - 'language.available' => array('xx', 'yy', 'zz'), + 'language.available' => array('en', 'nn', 'es'), 'language.parameter.name' => 'xyz', 'language.parameter.setcookie' => false, ), '', 'simplesaml'); - $_GET['xyz'] = 'Zz'; // test also that lang code is transformed to lower caps + $_GET['xyz'] = 'Es'; // test also that lang code is transformed to lower caps $l = new Language($c); - $this->assertEquals('zz', $l->getLanguage()); + $this->assertEquals('es', $l->getLanguage()); // test with valid configuration, no cookies, language set unavailable $_GET['xyz'] = 'unavailable'; -- GitLab