mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[1.6.x] Fixed #21307 -- Moved TransRealMixin to django.test.utils.
51d2e1fb23 from master.
This commit is contained in:
@@ -11,7 +11,7 @@ from django.conf import settings
|
||||
from django.contrib.humanize.templatetags import humanize
|
||||
from django.template import Template, Context, defaultfilters
|
||||
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.timezone import utc
|
||||
from django.utils import translation
|
||||
@@ -19,8 +19,6 @@ from django.utils.translation import ugettext as _
|
||||
from django.utils import tzinfo
|
||||
from django.utils.unittest import skipIf
|
||||
|
||||
from i18n import TransRealMixin
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
@@ -2,6 +2,7 @@ from contextlib import contextmanager
|
||||
import logging
|
||||
import re
|
||||
import sys
|
||||
from threading import local
|
||||
import time
|
||||
import warnings
|
||||
from functools import wraps
|
||||
@@ -441,6 +442,23 @@ def patch_logger(logger_name, log_level):
|
||||
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
|
||||
# in which the program runs. As a consequence, we must skip tests that
|
||||
# don't enforce a specific timezone (with timezone.override or equivalent),
|
||||
|
||||
Reference in New Issue
Block a user