summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2014-11-19 23:23:58 +0100
committerAymeric Augustin <aymeric.augustin@m4x.org>2014-11-23 11:52:12 +0100
commit29a977ab143f549c8849e9f08ca5800830eaaabb (patch)
tree27fb381958cd9e3b773d0f38a686af7c0391c2f5 /tests
parent544a716da8e2ee774dc4ae4baecfc86b07c69820 (diff)
Moved template loaders management in Engine.
Passed the engine instance to loaders. This is a prerequisite for looking up configuration on the engine instance instead of global settings. This is backwards incompatible for custom template loaders that override __init__. However the documentation doesn't talk about __init__ and the way to pass arguments to custom template loaders isn't specified. I'm considering it a private API.
Diffstat (limited to 'tests')
-rw-r--r--tests/template_tests/test_loaders.py12
-rw-r--r--tests/template_tests/tests.py10
2 files changed, 10 insertions, 12 deletions
diff --git a/tests/template_tests/test_loaders.py b/tests/template_tests/test_loaders.py
index 220f766077..66957dc90e 100644
--- a/tests/template_tests/test_loaders.py
+++ b/tests/template_tests/test_loaders.py
@@ -22,7 +22,7 @@ except ImportError:
from django.template import TemplateDoesNotExist, Context
from django.template.loaders.eggs import Loader as EggLoader
-from django.template.loaders.utils import find_template_loader
+from django.template.engine import Engine
from django.template import loader
from django.test import TestCase, override_settings
from django.test.utils import IgnorePendingDeprecationWarningsMixin
@@ -86,26 +86,26 @@ class EggLoaderTest(TestCase):
@override_settings(INSTALLED_APPS=['egg_empty'])
def test_empty(self):
"Loading any template on an empty egg should fail"
- egg_loader = EggLoader()
+ egg_loader = EggLoader(Engine.get_default())
self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "not-existing.html")
@override_settings(INSTALLED_APPS=['egg_1'])
def test_non_existing(self):
"Template loading fails if the template is not in the egg"
- egg_loader = EggLoader()
+ egg_loader = EggLoader(Engine.get_default())
self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "not-existing.html")
@override_settings(INSTALLED_APPS=['egg_1'])
def test_existing(self):
"A template can be loaded from an egg"
- egg_loader = EggLoader()
+ egg_loader = EggLoader(Engine.get_default())
contents, template_name = egg_loader.load_template_source("y.html")
self.assertEqual(contents, "y")
self.assertEqual(template_name, "egg:egg_1:templates/y.html")
def test_not_installed(self):
"Loading an existent template from an egg not included in any app should fail"
- egg_loader = EggLoader()
+ egg_loader = EggLoader(Engine.get_default())
self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "y.html")
@@ -129,7 +129,7 @@ class CachedLoader(TestCase):
def test_missing_template_is_cached(self):
"#19949 -- Check that the missing template is cached."
- template_loader = find_template_loader(settings.TEMPLATE_LOADERS[0])
+ template_loader = Engine.get_default().template_loaders[0]
# Empty cache, which may be filled from previous tests.
template_loader.reset()
# Check that 'missing.html' isn't already in cache before 'missing.html' is loaded
diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py
index 80d7b727d6..397c6c4e11 100644
--- a/tests/template_tests/tests.py
+++ b/tests/template_tests/tests.py
@@ -14,8 +14,8 @@ from django.contrib.auth.models import Group
from django.core import urlresolvers
from django.template import (base as template_base, loader, Context,
RequestContext, Template, TemplateSyntaxError)
+from django.template.engine import Engine
from django.template.loaders import app_directories, filesystem
-from django.template.loaders.utils import get_template_loaders
from django.test import RequestFactory, TestCase
from django.test.utils import override_settings, extend_sys_path
from django.utils.deprecation import RemovedInDjango19Warning, RemovedInDjango20Warning
@@ -160,8 +160,8 @@ class UTF8Class:
class TemplateLoaderTests(TestCase):
def test_loaders_security(self):
- ad_loader = app_directories.Loader()
- fs_loader = filesystem.Loader()
+ ad_loader = app_directories.Loader(Engine.get_default())
+ fs_loader = filesystem.Loader(Engine.get_default())
def test_template_sources(path, template_dirs, expected_sources):
if isinstance(expected_sources, list):
@@ -620,9 +620,7 @@ class TemplateTests(TestCase):
if output != result:
failures.append("Template test (Cached='%s', TEMPLATE_STRING_IF_INVALID='%s', TEMPLATE_DEBUG=%s): %s -- FAILED. Expected %r, got %r" % (is_cached, invalid_str, template_debug, name, result, output))
- # This relies on get_template_loaders() memoizing its
- # result. All callers get the same iterable of loaders.
- get_template_loaders()[0].reset()
+ Engine.get_default().template_loaders[0].reset()
if template_base.invalid_var_format_string:
expected_invalid_str = 'INVALID'