summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-03-31 17:10:06 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-03-31 17:10:06 +0000
commitcc5477df890f66854275c2b3ce46e8457fe8a6b2 (patch)
tree695b2c163a0101bdf5e57c069e01c2c5e3f04ee7 /tests/regressiontests
parent33e87318c046ea73ed380b135eb1bbb471d301f3 (diff)
Fixed #7529: added a FILES section to the debug view. As a bonus, we've now got
the start of a suite of tests for the debug views. Thanks, Alex Gaynor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10271 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/views/tests/__init__.py1
-rw-r--r--tests/regressiontests/views/tests/debug.py21
-rw-r--r--tests/regressiontests/views/urls.py5
-rw-r--r--tests/regressiontests/views/views.py9
4 files changed, 36 insertions, 0 deletions
diff --git a/tests/regressiontests/views/tests/__init__.py b/tests/regressiontests/views/tests/__init__.py
index 9964cd5833..9c363b3f09 100644
--- a/tests/regressiontests/views/tests/__init__.py
+++ b/tests/regressiontests/views/tests/__init__.py
@@ -3,3 +3,4 @@ from i18n import *
from static import *
from generic.date_based import *
from generic.create_update import *
+from debug import *
diff --git a/tests/regressiontests/views/tests/debug.py b/tests/regressiontests/views/tests/debug.py
new file mode 100644
index 0000000000..0c0b62f51f
--- /dev/null
+++ b/tests/regressiontests/views/tests/debug.py
@@ -0,0 +1,21 @@
+from django.conf import settings
+from django.core.files.uploadedfile import SimpleUploadedFile
+from django.test import TestCase
+
+class DebugViewTests(TestCase):
+ def setUp(self):
+ settings.DEBUG = True
+
+ def tearDown(self):
+ settings.DEBUG = False
+
+ def test_files(self):
+ response = self.client.get('/views/raises/')
+ self.assertEquals(response.status_code, 500)
+
+ data = {
+ 'file_data.txt': SimpleUploadedFile('file_data.txt', 'haha'),
+ }
+ response = self.client.post('/views/raises/', data)
+ self.failUnless('file_data.txt' in response.content)
+ self.failIf('haha' in response.content)
diff --git a/tests/regressiontests/views/urls.py b/tests/regressiontests/views/urls.py
index 6403ab3a39..b6a269f9f4 100644
--- a/tests/regressiontests/views/urls.py
+++ b/tests/regressiontests/views/urls.py
@@ -82,3 +82,8 @@ urlpatterns += patterns('django.views.generic.create_update',
(r'^create_update/no_url/update/article/(?P<slug>[-\w]+)/$',
'update_object', dict(slug_field='slug', model=UrlArticle)),
)
+
+# a view that raises an exception for the debug view
+urlpatterns += patterns('',
+ (r'^raises/$', views.raises)
+)
diff --git a/tests/regressiontests/views/views.py b/tests/regressiontests/views/views.py
index b90852189c..969d760d8e 100644
--- a/tests/regressiontests/views/views.py
+++ b/tests/regressiontests/views/views.py
@@ -1,5 +1,8 @@
+import sys
+
from django.http import HttpResponse
from django import forms
+from django.views.debug import technical_500_response
from django.views.generic.create_update import create_object
from models import Article
@@ -27,3 +30,9 @@ def custom_create(request):
return create_object(request,
post_save_redirect='/views/create_update/view/article/%(slug)s/',
form_class=SlugChangingArticleForm)
+
+def raises(request):
+ try:
+ raise Exception
+ except Exception:
+ return technical_500_response(request, *sys.exc_info())