Loading django/utils/translation/__init__.py +6 −0 Original line number Diff line number Diff line Loading @@ -187,4 +187,10 @@ def get_language_info(lang_code): try: return LANG_INFO[lang_code] except KeyError: if '-' in lang_code: splited_lang_code = lang_code.split('-')[0] try: return LANG_INFO[splited_lang_code] except KeyError: raise KeyError("Unknown language code %r and %r." % (lang_code, splited_lang_code)) raise KeyError("Unknown language code %r." % lang_code) tests/regressiontests/i18n/tests.py +15 −0 Original line number Diff line number Diff line Loading @@ -956,6 +956,21 @@ class TestLanguageInfo(TestCase): self.assertEqual(li['name'], 'German') self.assertEqual(li['bidi'], False) def test_unknown_language_code(self): with self.assertRaisesRegexp(KeyError, "Unknown language code u\'xx\'."): get_language_info('xx') def test_unknown_only_country_code(self): li = get_language_info('de-xx') self.assertEqual(li['code'], 'de') self.assertEqual(li['name_local'], 'Deutsch') self.assertEqual(li['name'], 'German') self.assertEqual(li['bidi'], False) def test_unknown_language_code_and_country_code(self): with self.assertRaisesRegexp(KeyError, "Unknown language code u\'xx-xx\' and u\'xx\'."): get_language_info('xx-xx') class MultipleLocaleActivationTests(TestCase): """ Loading Loading
django/utils/translation/__init__.py +6 −0 Original line number Diff line number Diff line Loading @@ -187,4 +187,10 @@ def get_language_info(lang_code): try: return LANG_INFO[lang_code] except KeyError: if '-' in lang_code: splited_lang_code = lang_code.split('-')[0] try: return LANG_INFO[splited_lang_code] except KeyError: raise KeyError("Unknown language code %r and %r." % (lang_code, splited_lang_code)) raise KeyError("Unknown language code %r." % lang_code)
tests/regressiontests/i18n/tests.py +15 −0 Original line number Diff line number Diff line Loading @@ -956,6 +956,21 @@ class TestLanguageInfo(TestCase): self.assertEqual(li['name'], 'German') self.assertEqual(li['bidi'], False) def test_unknown_language_code(self): with self.assertRaisesRegexp(KeyError, "Unknown language code u\'xx\'."): get_language_info('xx') def test_unknown_only_country_code(self): li = get_language_info('de-xx') self.assertEqual(li['code'], 'de') self.assertEqual(li['name_local'], 'Deutsch') self.assertEqual(li['name'], 'German') self.assertEqual(li['bidi'], False) def test_unknown_language_code_and_country_code(self): with self.assertRaisesRegexp(KeyError, "Unknown language code u\'xx-xx\' and u\'xx\'."): get_language_info('xx-xx') class MultipleLocaleActivationTests(TestCase): """ Loading