summaryrefslogtreecommitdiff
path: root/tests/regressiontests/urlpatterns_reverse
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-12-13 20:29:04 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-12-13 20:29:04 +0000
commit1c5fe467bd838c8521ca7c7427d8196f08a24f80 (patch)
tree04aacaead4397dc687ace013cf51bb84c3c6571d /tests/regressiontests/urlpatterns_reverse
parent125403ca972d4964691ee206acc6c28c0b3eab9d (diff)
Fixed #10326: handler500 and handler404 may now be callables. Thanks, dcwatson, adurdin.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11854 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/urlpatterns_reverse')
-rw-r--r--tests/regressiontests/urlpatterns_reverse/tests.py23
-rw-r--r--tests/regressiontests/urlpatterns_reverse/urls_error_handlers.py8
-rw-r--r--tests/regressiontests/urlpatterns_reverse/urls_error_handlers_callables.py9
3 files changed, 39 insertions, 1 deletions
diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py
index 34c9db25d3..1dc85b0424 100644
--- a/tests/regressiontests/urlpatterns_reverse/tests.py
+++ b/tests/regressiontests/urlpatterns_reverse/tests.py
@@ -244,7 +244,6 @@ class NamespaceTests(TestCase):
self.assertEquals('/other1/inner/37/42/', reverse('nodefault:urlobject-view', args=[37,42], current_app='other-ns1'))
self.assertEquals('/other1/inner/42/37/', reverse('nodefault:urlobject-view', kwargs={'arg1':42, 'arg2':37}, current_app='other-ns1'))
-
class RequestURLconfTests(TestCase):
def setUp(self):
self.root_urlconf = settings.ROOT_URLCONF
@@ -276,3 +275,25 @@ class RequestURLconfTests(TestCase):
response = self.client.get('/second_test/')
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, 'outer:,inner:/second_test/')
+
+class ErrorHandlerResolutionTests(TestCase):
+ """Tests for handler404 and handler500"""
+
+ def setUp(self):
+ from django.core.urlresolvers import RegexURLResolver
+ urlconf = 'regressiontests.urlpatterns_reverse.urls_error_handlers'
+ urlconf_callables = 'regressiontests.urlpatterns_reverse.urls_error_handlers_callables'
+ self.resolver = RegexURLResolver(r'^$', urlconf)
+ self.callable_resolver = RegexURLResolver(r'^$', urlconf_callables)
+
+ def test_named_handlers(self):
+ from views import empty_view
+ handler = (empty_view, {})
+ self.assertEqual(self.resolver.resolve404(), handler)
+ self.assertEqual(self.resolver.resolve500(), handler)
+
+ def test_callable_handers(self):
+ from views import empty_view
+ handler = (empty_view, {})
+ self.assertEqual(self.callable_resolver.resolve404(), handler)
+ self.assertEqual(self.callable_resolver.resolve500(), handler)
diff --git a/tests/regressiontests/urlpatterns_reverse/urls_error_handlers.py b/tests/regressiontests/urlpatterns_reverse/urls_error_handlers.py
new file mode 100644
index 0000000000..c2e0d32498
--- /dev/null
+++ b/tests/regressiontests/urlpatterns_reverse/urls_error_handlers.py
@@ -0,0 +1,8 @@
+# Used by the ErrorHandlerResolutionTests test case.
+
+from django.conf.urls.defaults import patterns
+
+urlpatterns = patterns('')
+
+handler404 = 'regressiontests.urlpatterns_reverse.views.empty_view'
+handler500 = 'regressiontests.urlpatterns_reverse.views.empty_view'
diff --git a/tests/regressiontests/urlpatterns_reverse/urls_error_handlers_callables.py b/tests/regressiontests/urlpatterns_reverse/urls_error_handlers_callables.py
new file mode 100644
index 0000000000..00f25a7236
--- /dev/null
+++ b/tests/regressiontests/urlpatterns_reverse/urls_error_handlers_callables.py
@@ -0,0 +1,9 @@
+# Used by the ErrorHandlerResolutionTests test case.
+
+from django.conf.urls.defaults import patterns
+from views import empty_view
+
+urlpatterns = patterns('')
+
+handler404 = empty_view
+handler500 = empty_view