diff options
Diffstat (limited to 'tests/check_framework/test_translation.py')
| -rw-r--r-- | tests/check_framework/test_translation.py | 111 |
1 files changed, 62 insertions, 49 deletions
diff --git a/tests/check_framework/test_translation.py b/tests/check_framework/test_translation.py index 8747a52cda..b20ed90860 100644 --- a/tests/check_framework/test_translation.py +++ b/tests/check_framework/test_translation.py @@ -1,37 +1,38 @@ from django.core.checks import Error from django.core.checks.translation import ( - check_language_settings_consistent, check_setting_language_code, - check_setting_languages, check_setting_languages_bidi, + check_language_settings_consistent, + check_setting_language_code, + check_setting_languages, + check_setting_languages_bidi, ) from django.test import SimpleTestCase, override_settings class TranslationCheckTests(SimpleTestCase): - def setUp(self): self.valid_tags = ( - 'en', # language - 'mas', # language - 'sgn-ase', # language+extlang - 'fr-CA', # language+region - 'es-419', # language+region - 'zh-Hans', # language+script - 'ca-ES-valencia', # language+region+variant + "en", # language + "mas", # language + "sgn-ase", # language+extlang + "fr-CA", # language+region + "es-419", # language+region + "zh-Hans", # language+script + "ca-ES-valencia", # language+region+variant # FIXME: The following should be invalid: - 'sr@latin', # language+script + "sr@latin", # language+script ) self.invalid_tags = ( - None, # invalid type: None. - 123, # invalid type: int. - b'en', # invalid type: bytes. - 'eü', # non-latin characters. - 'en_US', # locale format. - 'en--us', # empty subtag. - '-en', # leading separator. - 'en-', # trailing separator. - 'en-US.UTF-8', # language tag w/ locale encoding. - 'en_US.UTF-8', # locale format - language w/ region and encoding. - 'ca_ES@valencia', # locale format - language w/ region and variant. + None, # invalid type: None. + 123, # invalid type: int. + b"en", # invalid type: bytes. + "eü", # non-latin characters. + "en_US", # locale format. + "en--us", # empty subtag. + "-en", # leading separator. + "en-", # trailing separator. + "en-US.UTF-8", # language tag w/ locale encoding. + "en_US.UTF-8", # locale format - language w/ region and encoding. + "ca_ES@valencia", # locale format - language w/ region and variant. # FIXME: The following should be invalid: # 'sr@latin', # locale instead of language tag. ) @@ -42,12 +43,15 @@ class TranslationCheckTests(SimpleTestCase): self.assertEqual(check_setting_language_code(None), []) def test_invalid_language_code(self): - msg = 'You have provided an invalid value for the LANGUAGE_CODE setting: %r.' + msg = "You have provided an invalid value for the LANGUAGE_CODE setting: %r." for tag in self.invalid_tags: with self.subTest(tag), self.settings(LANGUAGE_CODE=tag): - self.assertEqual(check_setting_language_code(None), [ - Error(msg % tag, id='translation.E001'), - ]) + self.assertEqual( + check_setting_language_code(None), + [ + Error(msg % tag, id="translation.E001"), + ], + ) def test_valid_languages(self): for tag in self.valid_tags: @@ -55,12 +59,15 @@ class TranslationCheckTests(SimpleTestCase): self.assertEqual(check_setting_languages(None), []) def test_invalid_languages(self): - msg = 'You have provided an invalid language code in the LANGUAGES setting: %r.' + msg = "You have provided an invalid language code in the LANGUAGES setting: %r." for tag in self.invalid_tags: with self.subTest(tag), self.settings(LANGUAGES=[(tag, tag)]): - self.assertEqual(check_setting_languages(None), [ - Error(msg % tag, id='translation.E002'), - ]) + self.assertEqual( + check_setting_languages(None), + [ + Error(msg % tag, id="translation.E002"), + ], + ) def test_valid_languages_bidi(self): for tag in self.valid_tags: @@ -68,42 +75,48 @@ class TranslationCheckTests(SimpleTestCase): self.assertEqual(check_setting_languages_bidi(None), []) def test_invalid_languages_bidi(self): - msg = 'You have provided an invalid language code in the LANGUAGES_BIDI setting: %r.' + msg = "You have provided an invalid language code in the LANGUAGES_BIDI setting: %r." for tag in self.invalid_tags: with self.subTest(tag), self.settings(LANGUAGES_BIDI=[tag]): - self.assertEqual(check_setting_languages_bidi(None), [ - Error(msg % tag, id='translation.E003'), - ]) + self.assertEqual( + check_setting_languages_bidi(None), + [ + Error(msg % tag, id="translation.E003"), + ], + ) - @override_settings(USE_I18N=True, LANGUAGES=[('en', 'English')]) + @override_settings(USE_I18N=True, LANGUAGES=[("en", "English")]) def test_inconsistent_language_settings(self): msg = ( - 'You have provided a value for the LANGUAGE_CODE setting that is ' - 'not in the LANGUAGES setting.' + "You have provided a value for the LANGUAGE_CODE setting that is " + "not in the LANGUAGES setting." ) - for tag in ['fr', 'fr-CA', 'fr-357']: + for tag in ["fr", "fr-CA", "fr-357"]: with self.subTest(tag), self.settings(LANGUAGE_CODE=tag): - self.assertEqual(check_language_settings_consistent(None), [ - Error(msg, id='translation.E004'), - ]) + self.assertEqual( + check_language_settings_consistent(None), + [ + Error(msg, id="translation.E004"), + ], + ) @override_settings( USE_I18N=True, LANGUAGES=[ - ('de', 'German'), - ('es', 'Spanish'), - ('fr', 'French'), - ('ca', 'Catalan'), + ("de", "German"), + ("es", "Spanish"), + ("fr", "French"), + ("ca", "Catalan"), ], ) def test_valid_variant_consistent_language_settings(self): tests = [ # language + region. - 'fr-CA', - 'es-419', - 'de-at', + "fr-CA", + "es-419", + "de-at", # language + region + variant. - 'ca-ES-valencia', + "ca-ES-valencia", ] for tag in tests: with self.subTest(tag), self.settings(LANGUAGE_CODE=tag): |
