diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2010-04-15 19:57:09 +0000 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2010-04-15 19:57:09 +0000 |
| commit | da36e3222415fd04332a529623f88f908be8c2a6 (patch) | |
| tree | e61c178d6ae5a9ba1a3c6dff893a4b4c5ddc24b6 /tests/regressiontests | |
| parent | 4604e985aea1329e521c9cf72208d0cb77f18d60 (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')
| -rwxr-xr-x | tests/regressiontests/templates/eggs/tagsegg.egg | bin | 0 -> 2581 bytes | |||
| -rw-r--r-- | tests/regressiontests/templates/tests.py | 43 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/regressiontests/templates/eggs/tagsegg.egg b/tests/regressiontests/templates/eggs/tagsegg.egg Binary files differnew file mode 100755 index 0000000000..3941914b81 --- /dev/null +++ b/tests/regressiontests/templates/eggs/tagsegg.egg 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() |
