diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-01-08 08:05:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-08 08:05:43 +0100 |
| commit | 53d8646f799de7f92ab9defe9dc56c6125448102 (patch) | |
| tree | 22655c3fd2b78c4590f9d17c150687edb3534665 /tests/check_framework | |
| parent | 979f61abd322507aafced9627702362e541ec34e (diff) | |
Fixed #31141 -- Relaxed system check of translation settings for sublanguages.
Regression in 4400d8296d268f5a8523cd02ddc33b12219b2535.
Thanks Enrique Matías Sánchez for the report.
Diffstat (limited to 'tests/check_framework')
| -rw-r--r-- | tests/check_framework/test_translation.py | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/tests/check_framework/test_translation.py b/tests/check_framework/test_translation.py index 4cd79d803f..8747a52cda 100644 --- a/tests/check_framework/test_translation.py +++ b/tests/check_framework/test_translation.py @@ -3,7 +3,7 @@ from django.core.checks.translation import ( check_language_settings_consistent, check_setting_language_code, check_setting_languages, check_setting_languages_bidi, ) -from django.test import SimpleTestCase +from django.test import SimpleTestCase, override_settings class TranslationCheckTests(SimpleTestCase): @@ -75,12 +75,36 @@ class TranslationCheckTests(SimpleTestCase): Error(msg % tag, id='translation.E003'), ]) + @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.' ) - with self.settings(LANGUAGE_CODE='fr', LANGUAGES=[('en', 'English')]): - self.assertEqual(check_language_settings_consistent(None), [ - Error(msg, id='translation.E004'), - ]) + 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'), + ]) + + @override_settings( + USE_I18N=True, + LANGUAGES=[ + ('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', + # language + region + variant. + 'ca-ES-valencia', + ] + for tag in tests: + with self.subTest(tag), self.settings(LANGUAGE_CODE=tag): + self.assertEqual(check_language_settings_consistent(None), []) |
