assert_equal("de_DE", $locale); } public function locale_from_http_request_fallback_test() { $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de"; $locale = locales::locale_from_http_request(); $this->assert_equal("de_DE", $locale); } public function locale_from_http_request_by_qvalue_test() { $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de-de;q=0.8,fr-fr;q=0.9"; $locale = locales::locale_from_http_request(); $this->assert_equal("fr_FR", $locale); } public function locale_from_http_request_default_qvalue_test() { $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de-de;q=0.8,it-it,fr-fr;q=0.9"; $locale = locales::locale_from_http_request(); $this->assert_equal("it_IT", $locale); } public function locale_from_http_request_lang_fallback_qvalue_adjustment_test() { $_SERVER["HTTP_ACCEPT_LANGUAGE"] = ",fr-fr;q=0.4,de-ch;q=0.8"; $locale = locales::locale_from_http_request(); $this->assert_equal("de_DE", $locale); } public function locale_from_http_request_best_match_vs_installed_test() { locales::update_installed(array("no_NO", "pt_PT", "ja_JP")); $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "en,en-us,ja_JP;q=0.7,no-fr;q=0.9"; $locale = locales::locale_from_http_request(); $this->assert_equal("ja_JP", $locale); } public function locale_from_http_request_best_match_vs_installed_2_test() { locales::update_installed(array("no_NO", "pt_PT", "ja_JP")); $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "en,en-us,ja_JP;q=0.5,no-fr;q=0.9"; $locale = locales::locale_from_http_request(); $this->assert_equal("no_NO", $locale); } public function locale_from_http_request_no_match_vs_installed_test() { locales::update_installed(array("no_NO", "pt_PT", "ja_JP")); $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "en,en-us,de"; $locale = locales::locale_from_http_request(); $this->assert_equal(null, $locale); } }