diff options
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/views/tests/debug.py | 4 | ||||
| -rw-r--r-- | tests/regressiontests/views/urls.py | 1 | ||||
| -rw-r--r-- | tests/regressiontests/views/views.py | 15 |
3 files changed, 17 insertions, 3 deletions
diff --git a/tests/regressiontests/views/tests/debug.py b/tests/regressiontests/views/tests/debug.py index 4ebe37f558..c71e8c502d 100644 --- a/tests/regressiontests/views/tests/debug.py +++ b/tests/regressiontests/views/tests/debug.py @@ -48,3 +48,7 @@ class DebugViewTests(TestCase): self.assertFalse(raising_loc.find('raise BrokenException') == -1, "Failed to find 'raise BrokenException' in last frame of traceback, instead found: %s" % raising_loc) + + def test_template_loader_postmortem(self): + response = self.client.get(reverse('raises_template_does_not_exist')) + self.assertContains(response, 'templates/i_dont_exist.html</code> (File does not exist)</li>', status_code=500) diff --git a/tests/regressiontests/views/urls.py b/tests/regressiontests/views/urls.py index 0ccb988061..3464b20a44 100644 --- a/tests/regressiontests/views/urls.py +++ b/tests/regressiontests/views/urls.py @@ -128,4 +128,5 @@ urlpatterns += patterns('django.views.generic.simple', urlpatterns += patterns('regressiontests.views.views', url(r'view_exception/(?P<n>\d+)/$', 'view_exception', name='view_exception'), url(r'template_exception/(?P<n>\d+)/$', 'template_exception', name='template_exception'), + url(r'^raises_template_does_not_exist/$', 'raises_template_does_not_exist', name='raises_template_does_not_exist'), ) diff --git a/tests/regressiontests/views/views.py b/tests/regressiontests/views/views.py index 445b4ed312..bb12902fd4 100644 --- a/tests/regressiontests/views/views.py +++ b/tests/regressiontests/views/views.py @@ -1,11 +1,12 @@ import sys -from django.http import HttpResponse, HttpResponseRedirect from django import forms -from django.views.debug import technical_500_response -from django.views.generic.create_update import create_object +from django.http import HttpResponse, HttpResponseRedirect from django.core.urlresolvers import get_resolver from django.shortcuts import render_to_response +from django.template import TemplateDoesNotExist +from django.views.debug import technical_500_response +from django.views.generic.create_update import create_object from regressiontests.views import BrokenException, except_args @@ -57,3 +58,11 @@ def template_exception(request, n): return render_to_response('debug/template_exception.html', {'arg': except_args[int(n)]}) +def raises_template_does_not_exist(request): + # We need to inspect the HTML generated by the fancy 500 debug view but + # the test client ignores it, so we send it explicitly. + try: + return render_to_response('i_dont_exist.html') + except TemplateDoesNotExist: + return technical_500_response(request, *sys.exc_info()) + |
