Fixed stability of data input/output L10N format modules priority order. Thanks tonnzor for the report and fix.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15402 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a158873488
commit
987fd51176
|
@ -36,12 +36,12 @@ def iter_format_modules(lang):
|
||||||
|
|
||||||
def get_format_modules(reverse=False):
|
def get_format_modules(reverse=False):
|
||||||
"""
|
"""
|
||||||
Returns an iterator over the format modules found
|
Returns a list of the format modules found
|
||||||
"""
|
"""
|
||||||
lang = get_language()
|
lang = get_language()
|
||||||
modules = _format_modules_cache.setdefault(lang, list(iter_format_modules(lang)))
|
modules = _format_modules_cache.setdefault(lang, list(iter_format_modules(lang)))
|
||||||
if reverse:
|
if reverse:
|
||||||
modules.reverse()
|
return list(reversed(modules))
|
||||||
return modules
|
return modules
|
||||||
|
|
||||||
def get_format(format_type, lang=None, use_l10n=None):
|
def get_format(format_type, lang=None, use_l10n=None):
|
||||||
|
|
|
@ -9,7 +9,7 @@ from threading import local
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.template import Template, Context
|
from django.template import Template, Context
|
||||||
from django.utils.formats import (get_format, date_format, time_format,
|
from django.utils.formats import (get_format, date_format, time_format,
|
||||||
localize, localize_input, iter_format_modules)
|
localize, localize_input, iter_format_modules, get_format_modules)
|
||||||
from django.utils.importlib import import_module
|
from django.utils.importlib import import_module
|
||||||
from django.utils.numberformat import format as nformat
|
from django.utils.numberformat import format as nformat
|
||||||
from django.utils.safestring import mark_safe, SafeString, SafeUnicode
|
from django.utils.safestring import mark_safe, SafeString, SafeUnicode
|
||||||
|
@ -495,6 +495,19 @@ class FormattingTests(TestCase):
|
||||||
finally:
|
finally:
|
||||||
settings.USE_L10N = old_l10n
|
settings.USE_L10N = old_l10n
|
||||||
|
|
||||||
|
def test_get_format_modules_stability(self):
|
||||||
|
activate('de')
|
||||||
|
old_format_module_path = settings.FORMAT_MODULE_PATH
|
||||||
|
settings.FORMAT_MODULE_PATH = 'regressiontests.i18n.other.locale'
|
||||||
|
try:
|
||||||
|
settings.USE_L10N = True
|
||||||
|
old = "%r" % get_format_modules(reverse=True)
|
||||||
|
new = "%r" % get_format_modules(reverse=True) # second try
|
||||||
|
self.assertEqual(new, old, 'Value returned by get_formats_modules() must be preserved between calls.')
|
||||||
|
finally:
|
||||||
|
settings.FORMAT_MODULE_PATH = old_format_module_path
|
||||||
|
deactivate()
|
||||||
|
|
||||||
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