summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-01-20 22:33:58 +0000
committerRamiro Morales <cramm0@gmail.com>2011-01-20 22:33:58 +0000
commit19bfdadc430fa8d366de1b8ca821cc4c64341b67 (patch)
treeff4d171f5897825af4ae38d3a691ba6c2742b920 /tests
parent8308ad4f0515ec1879ff4d0206e58938291e3dc9 (diff)
Fixed #15122 -- Restored reporting of the template files tried in the texmplate loader post mortem section of the TemplateDoesNotExit 500 error debug page. Thanks rdrey for reporting this regression.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15252 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/views/tests/debug.py4
-rw-r--r--tests/regressiontests/views/urls.py1
-rw-r--r--tests/regressiontests/views/views.py10
3 files changed, 14 insertions, 1 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 a170efb1fc..b7ff3efbdc 100644
--- a/tests/regressiontests/views/urls.py
+++ b/tests/regressiontests/views/urls.py
@@ -143,6 +143,7 @@ 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'),
(r'^shortcuts/render_to_response/$', 'render_to_response_view'),
(r'^shortcuts/render_to_response/request_context/$', 'render_to_response_view_with_request_context'),
diff --git a/tests/regressiontests/views/views.py b/tests/regressiontests/views/views.py
index 622e5f6442..bcff08e125 100644
--- a/tests/regressiontests/views/views.py
+++ b/tests/regressiontests/views/views.py
@@ -4,7 +4,7 @@ from django import forms
from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import get_resolver
from django.shortcuts import render_to_response, render
-from django.template import Context, RequestContext
+from django.template import Context, RequestContext, TemplateDoesNotExist
from django.views.debug import technical_500_response
from django.views.generic.create_update import create_object
@@ -120,3 +120,11 @@ def render_view_with_current_app_conflict(request):
'foo': 'FOO',
'bar': 'BAR',
}, current_app="foobar_app", context_instance=RequestContext(request))
+
+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())