mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Fixed #21307 -- Moved TransRealMixin to django.test.utils.
This commit is contained in:
parent
2eb8f15516
commit
51d2e1fb23
@ -12,14 +12,12 @@ from django.conf import settings
|
|||||||
from django.contrib.humanize.templatetags import humanize
|
from django.contrib.humanize.templatetags import humanize
|
||||||
from django.template import Template, Context, defaultfilters
|
from django.template import Template, Context, defaultfilters
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.utils import override_settings
|
from django.test.utils import override_settings, TransRealMixin
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.timezone import utc, get_fixed_timezone
|
from django.utils.timezone import utc, get_fixed_timezone
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from i18n import TransRealMixin
|
|
||||||
|
|
||||||
|
|
||||||
# Mock out datetime in some tests so they don't fail occasionally when they
|
# Mock out datetime in some tests so they don't fail occasionally when they
|
||||||
# run too slow. Use a fixed datetime for datetime.now(). DST change in
|
# run too slow. Use a fixed datetime for datetime.now(). DST change in
|
||||||
|
@ -2,6 +2,7 @@ from contextlib import contextmanager
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
from threading import local
|
||||||
import time
|
import time
|
||||||
from unittest import skipUnless
|
from unittest import skipUnless
|
||||||
import warnings
|
import warnings
|
||||||
@ -415,6 +416,23 @@ def patch_logger(logger_name, log_level):
|
|||||||
setattr(logger, log_level, orig)
|
setattr(logger, log_level, orig)
|
||||||
|
|
||||||
|
|
||||||
|
class TransRealMixin(object):
|
||||||
|
"""This is the only way to reset the translation machinery. Otherwise
|
||||||
|
the test suite occasionally fails because of global state pollution
|
||||||
|
between tests."""
|
||||||
|
def flush_caches(self):
|
||||||
|
from django.utils.translation import trans_real
|
||||||
|
trans_real._translations = {}
|
||||||
|
trans_real._active = local()
|
||||||
|
trans_real._default = None
|
||||||
|
trans_real._accepted = {}
|
||||||
|
trans_real._checked_languages = {}
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.flush_caches()
|
||||||
|
super(TransRealMixin, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
# On OSes that don't provide tzset (Windows), we can't set the timezone
|
# On OSes that don't provide tzset (Windows), we can't set the timezone
|
||||||
# in which the program runs. As a consequence, we must skip tests that
|
# in which the program runs. As a consequence, we must skip tests that
|
||||||
# don't enforce a specific timezone (with timezone.override or equivalent),
|
# don't enforce a specific timezone (with timezone.override or equivalent),
|
||||||
|
@ -17,13 +17,12 @@ from django.template.defaultfilters import (
|
|||||||
urlize, urlizetrunc, wordcount, wordwrap, yesno,
|
urlize, urlizetrunc, wordcount, wordwrap, yesno,
|
||||||
)
|
)
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
from django.test.utils import TransRealMixin
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from django.utils.safestring import SafeData
|
from django.utils.safestring import SafeData
|
||||||
from django.utils.encoding import python_2_unicode_compatible
|
from django.utils.encoding import python_2_unicode_compatible
|
||||||
|
|
||||||
from i18n import TransRealMixin
|
|
||||||
|
|
||||||
|
|
||||||
class DefaultFiltersTests(TestCase):
|
class DefaultFiltersTests(TestCase):
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ from django.test import TestCase
|
|||||||
from django.utils.translation import ugettext_lazy, override
|
from django.utils.translation import ugettext_lazy, override
|
||||||
|
|
||||||
from forms_tests.models import Cheese
|
from forms_tests.models import Cheese
|
||||||
from i18n import TransRealMixin
|
from django.test.utils import TransRealMixin
|
||||||
|
|
||||||
|
|
||||||
class FormsRegressionsTestCase(TransRealMixin, TestCase):
|
class FormsRegressionsTestCase(TransRealMixin, TestCase):
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
from threading import local
|
|
||||||
|
|
||||||
|
|
||||||
class TransRealMixin(object):
|
|
||||||
"""This is the only way to reset the translation machinery. Otherwise
|
|
||||||
the test suite occasionally fails because of global state pollution
|
|
||||||
between tests."""
|
|
||||||
def flush_caches(self):
|
|
||||||
from django.utils.translation import trans_real
|
|
||||||
trans_real._translations = {}
|
|
||||||
trans_real._active = local()
|
|
||||||
trans_real._default = None
|
|
||||||
trans_real._accepted = {}
|
|
||||||
trans_real._checked_languages = {}
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
self.flush_caches()
|
|
||||||
super(TransRealMixin, self).tearDown()
|
|
@ -5,13 +5,11 @@ import os
|
|||||||
|
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.utils import override_settings
|
from django.test.utils import override_settings, TransRealMixin
|
||||||
from django.utils._os import upath
|
from django.utils._os import upath
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
|
|
||||||
from i18n import TransRealMixin
|
|
||||||
|
|
||||||
|
|
||||||
@override_settings(
|
@override_settings(
|
||||||
USE_I18N=True,
|
USE_I18N=True,
|
||||||
|
@ -13,7 +13,7 @@ from django.core.management.utils import find_command
|
|||||||
from django.template import Template, Context
|
from django.template import Template, Context
|
||||||
from django.template.base import TemplateSyntaxError
|
from django.template.base import TemplateSyntaxError
|
||||||
from django.test import TestCase, RequestFactory
|
from django.test import TestCase, RequestFactory
|
||||||
from django.test.utils import override_settings
|
from django.test.utils import override_settings, TransRealMixin
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
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, get_format_modules,
|
localize, localize_input, iter_format_modules, get_format_modules,
|
||||||
@ -44,7 +44,6 @@ if find_command('msgfmt'):
|
|||||||
from .commands.compilation import (PoFileTests, PoFileContentsTests,
|
from .commands.compilation import (PoFileTests, PoFileContentsTests,
|
||||||
PercentRenderingTests, MultipleLocaleCompilationTests,
|
PercentRenderingTests, MultipleLocaleCompilationTests,
|
||||||
CompilationErrorHandling)
|
CompilationErrorHandling)
|
||||||
from . import TransRealMixin
|
|
||||||
from .forms import I18nForm, SelectDateForm, SelectDateWidget, CompanyForm
|
from .forms import I18nForm, SelectDateForm, SelectDateWidget, CompanyForm
|
||||||
from .models import Company, TestModel
|
from .models import Company, TestModel
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ from django.template import (base as template_base, loader, Context,
|
|||||||
from django.template.loaders import app_directories, filesystem, cached
|
from django.template.loaders import app_directories, filesystem, cached
|
||||||
from django.test import RequestFactory, TestCase
|
from django.test import RequestFactory, TestCase
|
||||||
from django.test.utils import (setup_test_template_loader,
|
from django.test.utils import (setup_test_template_loader,
|
||||||
restore_template_loaders, override_settings)
|
restore_template_loaders, override_settings, TransRealMixin)
|
||||||
from django.utils.encoding import python_2_unicode_compatible
|
from django.utils.encoding import python_2_unicode_compatible
|
||||||
from django.utils.formats import date_format
|
from django.utils.formats import date_format
|
||||||
from django.utils._os import upath
|
from django.utils._os import upath
|
||||||
@ -31,8 +31,6 @@ from django.utils.safestring import mark_safe
|
|||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils.six.moves.urllib.parse import urljoin
|
from django.utils.six.moves.urllib.parse import urljoin
|
||||||
|
|
||||||
from i18n import TransRealMixin
|
|
||||||
|
|
||||||
# NumPy installed?
|
# NumPy installed?
|
||||||
try:
|
try:
|
||||||
import numpy
|
import numpy
|
||||||
|
Loading…
Reference in New Issue
Block a user