summaryrefslogtreecommitdiff
path: root/tests/check_framework/test_translation.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check_framework/test_translation.py')
-rw-r--r--tests/check_framework/test_translation.py111
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):