summaryrefslogtreecommitdiff
path: root/tests/regressiontests/templates/tests.py
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2010-04-15 19:57:09 +0000
committerKaren Tracey <kmtracey@gmail.com>2010-04-15 19:57:09 +0000
commitda36e3222415fd04332a529623f88f908be8c2a6 (patch)
treee61c178d6ae5a9ba1a3c6dff893a4b4c5ddc24b6 /tests/regressiontests/templates/tests.py
parent4604e985aea1329e521c9cf72208d0cb77f18d60 (diff)
Fixed #13334: Restored ability to load template tags from eggs. Again thanks Ramiro and metzen for pointers on how to find out if a module loaded from an egg has a particular submodule, and Russ for review.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12986 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/templates/tests.py')
-rw-r--r--tests/regressiontests/templates/tests.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py
index 372d2ab1c2..33d0650c7c 100644
--- a/tests/regressiontests/templates/tests.py
+++ b/tests/regressiontests/templates/tests.py
@@ -1287,5 +1287,48 @@ class Templates(unittest.TestCase):
'autoescape-filtertag01': ("{{ first }}{% filter safe %}{{ first }} x<y{% endfilter %}", {"first": "<a>"}, template.TemplateSyntaxError),
}
+
+class TemplateTagLoading(unittest.TestCase):
+
+ def setUp(self):
+ self.old_path = sys.path
+ self.old_apps = settings.INSTALLED_APPS
+ self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
+ self.old_tag_modules = template.templatetags_modules
+ template.templatetags_modules = []
+
+ def tearDown(self):
+ settings.INSTALLED_APPS = self.old_apps
+ sys.path = self.old_path
+ template.templatetags_modules = self.old_tag_modules
+
+ def test_load_error(self):
+ ttext = "{% load broken_tag %}"
+ self.assertRaises(template.TemplateSyntaxError, template.Template, ttext)
+ try:
+ template.Template(ttext)
+ except template.TemplateSyntaxError, e:
+ self.assertTrue('ImportError' in e.args[0])
+ self.assertTrue('Xtemplate' in e.args[0])
+
+ def test_load_error_egg(self):
+ ttext = "{% load broken_egg %}"
+ egg_name = '%s/tagsegg.egg' % self.egg_dir
+ sys.path.append(egg_name)
+ settings.INSTALLED_APPS = ('tagsegg',)
+ self.assertRaises(template.TemplateSyntaxError, template.Template, ttext)
+ try:
+ template.Template(ttext)
+ except template.TemplateSyntaxError, e:
+ self.assertTrue('ImportError' in e.args[0])
+ self.assertTrue('Xtemplate' in e.args[0])
+
+ def test_load_working_egg(self):
+ ttext = "{% load working_egg %}"
+ egg_name = '%s/tagsegg.egg' % self.egg_dir
+ sys.path.append(egg_name)
+ settings.INSTALLED_APPS = ('tagsegg',)
+ t = template.Template(ttext)
+
if __name__ == "__main__":
unittest.main()