summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/template/loader.py2
-rw-r--r--tests/regressiontests/templates/loaders.py11
2 files changed, 13 insertions, 0 deletions
diff --git a/django/template/loader.py b/django/template/loader.py
index e10533393d..418501713d 100644
--- a/django/template/loader.py
+++ b/django/template/loader.py
@@ -179,6 +179,8 @@ def render_to_string(template_name, dictionary=None, context_instance=None):
def select_template(template_name_list):
"Given a list of template names, returns the first that can be loaded."
+ if not template_name_list:
+ raise TemplateDoesNotExist("No template names provided")
not_found = []
for template_name in template_name_list:
try:
diff --git a/tests/regressiontests/templates/loaders.py b/tests/regressiontests/templates/loaders.py
index c2ae0bd1fc..45131bf265 100644
--- a/tests/regressiontests/templates/loaders.py
+++ b/tests/regressiontests/templates/loaders.py
@@ -143,5 +143,16 @@ class RenderToStringTest(unittest.TestCase):
self.assertEqual(output, 'obj:after')
self.assertEqual(context['obj'], 'before')
+ def test_empty_list(self):
+ self.assertRaisesRegexp(TemplateDoesNotExist,
+ 'No template names provided$',
+ loader.render_to_string, [])
+
+
+ def test_select_templates_from_empty_list(self):
+ self.assertRaisesRegexp(TemplateDoesNotExist,
+ 'No template names provided$',
+ loader.select_template, [])
+
if __name__ == "__main__":
unittest.main()