summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2014-11-15 20:41:30 +0100
committerAymeric Augustin <aymeric.augustin@m4x.org>2014-11-16 21:40:50 +0100
commitb503fee7ec03485bf7172a6a85ca7228847705de (patch)
tree9025bc3bfecb6def8c333a9547869f1dde38a2c2 /django
parentd58597a7b8b47add828c9418cdf48299e3b8f5bb (diff)
Removed override_template_loaders and override_with_test_loader.
They can be replaced with override_settings and that makes the corresponding tests much more obvious.
Diffstat (limited to 'django')
-rw-r--r--django/test/utils.py88
1 files changed, 2 insertions, 86 deletions
diff --git a/django/test/utils.py b/django/test/utils.py
index 72466bec58..2f9678c29a 100644
--- a/django/test/utils.py
+++ b/django/test/utils.py
@@ -14,11 +14,10 @@ from django.core import mail
from django.core.signals import request_started
from django.db import reset_queries
from django.http import request
-from django.template import Template, loader
-from django.template.loaders import cached, locmem
+from django.template import Template
+from django.template.loaders import locmem
from django.test.signals import template_rendered, setting_changed
from django.utils import six
-from django.utils.decorators import ContextDecorator
from django.utils.deprecation import RemovedInDjango19Warning, RemovedInDjango20Warning
from django.utils.encoding import force_str
from django.utils.translation import deactivate
@@ -31,7 +30,6 @@ __all__ = (
'setup_test_environment', 'teardown_test_environment',
)
-RESTORE_LOADERS_ATTR = '_original_template_source_loaders'
TZ_SUPPORT = hasattr(time, 'tzset')
@@ -147,48 +145,6 @@ def get_runner(settings, test_runner_class=None):
return test_runner
-class override_template_loaders(ContextDecorator):
- """
- Acts as a function decorator, context manager or start/end manager and
- override the template loaders. It could be used in the following ways:
-
- @override_template_loaders(SomeLoader())
- def test_function(self):
- ...
-
- with override_template_loaders(SomeLoader(), OtherLoader()) as loaders:
- ...
-
- loaders = override_template_loaders.override(SomeLoader())
- ...
- override_template_loaders.restore()
- """
- def __init__(self, *loaders):
- self.loaders = loaders
- self.old_loaders = []
-
- def __enter__(self):
- self.old_loaders = loader.template_source_loaders
- loader.template_source_loaders = self.loaders
- return self.loaders
-
- def __exit__(self, type, value, traceback):
- loader.template_source_loaders = self.old_loaders
-
- @classmethod
- def override(cls, *loaders):
- if hasattr(loader, RESTORE_LOADERS_ATTR):
- raise Exception("loader.%s already exists" % RESTORE_LOADERS_ATTR)
- setattr(loader, RESTORE_LOADERS_ATTR, loader.template_source_loaders)
- loader.template_source_loaders = loaders
- return loaders
-
- @classmethod
- def restore(cls):
- loader.template_source_loaders = getattr(loader, RESTORE_LOADERS_ATTR)
- delattr(loader, RESTORE_LOADERS_ATTR)
-
-
class TestTemplateLoader(locmem.Loader):
def __init__(self, *args, **kwargs):
@@ -199,46 +155,6 @@ class TestTemplateLoader(locmem.Loader):
super(TestTemplateLoader, self).__init__(*args, **kwargs)
-class override_with_test_loader(override_template_loaders):
- """
- Acts as a function decorator, context manager or start/end manager and
- override the template loaders with the test loader. It could be used in the
- following ways:
-
- @override_with_test_loader(templates_dict, use_cached_loader=True)
- def test_function(self):
- ...
-
- with override_with_test_loader(templates_dict) as test_loader:
- ...
-
- test_loader = override_with_test_loader.override(templates_dict)
- ...
- override_with_test_loader.restore()
- """
-
- def __init__(self, templates_dict, use_cached_loader=False):
- self.loader = self._get_loader(templates_dict, use_cached_loader)
- super(override_with_test_loader, self).__init__(self.loader)
-
- def __enter__(self):
- return super(override_with_test_loader, self).__enter__()[0]
-
- @classmethod
- def override(cls, templates_dict, use_cached_loader=False):
- loader = cls._get_loader(templates_dict, use_cached_loader)
- return super(override_with_test_loader, cls).override(loader)[0]
-
- @classmethod
- def _get_loader(cls, templates_dict, use_cached_loader=False):
- if use_cached_loader:
- loader = cached.Loader(['django.template.loaders.locmem.Loader'])
- loader._cached_loaders = [locmem.Loader(templates_dict)]
- return loader
- else:
- return locmem.Loader(templates_dict)
-
-
class override_settings(object):
"""
Acts as either a decorator, or a context manager. If it's a decorator it