mirror of
https://github.com/django/django.git
synced 2025-10-24 22:26:08 +00:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user