Fixed #15024 -- Ensure that choice of L10N format module used is stable given a stable setup of format modules in ll/ and ll_CC/ dirs. Thanks David Reynolds for the report and suggestions leading to the solution.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15183 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
1c56af676d
commit
fd12e3b218
|
@ -24,7 +24,9 @@ def iter_format_modules(lang):
|
||||||
format_locations.append(settings.FORMAT_MODULE_PATH + '.%s')
|
format_locations.append(settings.FORMAT_MODULE_PATH + '.%s')
|
||||||
format_locations.reverse()
|
format_locations.reverse()
|
||||||
locale = to_locale(lang)
|
locale = to_locale(lang)
|
||||||
locales = set((locale, locale.split('_')[0]))
|
locales = [locale]
|
||||||
|
if '_' in locale:
|
||||||
|
locales.append(locale.split('_')[0])
|
||||||
for location in format_locations:
|
for location in format_locations:
|
||||||
for loc in locales:
|
for loc in locales:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -480,6 +480,19 @@ class FormattingTests(TestCase):
|
||||||
settings.FORMAT_MODULE_PATH = old_format_module_path
|
settings.FORMAT_MODULE_PATH = old_format_module_path
|
||||||
deactivate()
|
deactivate()
|
||||||
|
|
||||||
|
def test_iter_format_modules_stability(self):
|
||||||
|
"""
|
||||||
|
Tests the iter_format_modules function always yields format modules in
|
||||||
|
a stable and correct order in presence of both base ll and ll_CC formats.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
old_l10n, settings.USE_L10N = settings.USE_L10N, True
|
||||||
|
en_format_mod = import_module('django.conf.locale.en.formats')
|
||||||
|
en_gb_format_mod = import_module('django.conf.locale.en_GB.formats')
|
||||||
|
self.assertEqual(list(iter_format_modules('en-gb')), [en_gb_format_mod, en_format_mod])
|
||||||
|
finally:
|
||||||
|
settings.USE_L10N = old_l10n
|
||||||
|
|
||||||
def test_localize_templatetag_and_filter(self):
|
def test_localize_templatetag_and_filter(self):
|
||||||
"""
|
"""
|
||||||
Tests the {% localize %} templatetag
|
Tests the {% localize %} templatetag
|
||||||
|
|
Loading…
Reference in New Issue