summaryrefslogtreecommitdiff
path: root/tests/urlpatterns_reverse
diff options
context:
space:
mode:
authorHarry <hjwp2@cantab.net>2015-04-24 20:51:26 +0100
committerMarkus Holtermann <info@markusholtermann.eu>2015-04-26 19:19:15 +0200
commit40768ec29dc0a38c3b824b32c1a9167c0e8b5ee0 (patch)
treeff3769bd0811e7b561746921fc61721a834d1b2a /tests/urlpatterns_reverse
parent86aaffa5a3510c007167d116cf4ad72b79e93f31 (diff)
Fixed #24707 -- Improved error reporting for explicitly imported uncallable views
Diffstat (limited to 'tests/urlpatterns_reverse')
-rw-r--r--tests/urlpatterns_reverse/erroneous_urls.py6
-rw-r--r--tests/urlpatterns_reverse/tests.py3
-rw-r--r--tests/urlpatterns_reverse/views.py2
3 files changed, 7 insertions, 4 deletions
diff --git a/tests/urlpatterns_reverse/erroneous_urls.py b/tests/urlpatterns_reverse/erroneous_urls.py
index b08376dc91..c96424f830 100644
--- a/tests/urlpatterns_reverse/erroneous_urls.py
+++ b/tests/urlpatterns_reverse/erroneous_urls.py
@@ -19,8 +19,10 @@ with warnings.catch_warnings():
url(r'erroneous_unqualified/$', 'unqualified_view'),
# View does not exist
url(r'missing_inner/$', 'urlpatterns_reverse.views.missing_view'),
- # View is not callable
- url(r'uncallable/$', 'urlpatterns_reverse.views.uncallable'),
+ # View is not a callable (string import; arbitrary Python object)
+ url(r'uncallable-dotted/$', 'urlpatterns_reverse.views.uncallable'),
+ # View is not a callable (explicit import; arbitrary Python object)
+ url(r'uncallable-object/$', views.uncallable),
# Module does not exist
url(r'missing_outer/$', 'urlpatterns_reverse.missing_module.missing_view'),
# Regex contains an error (refs #6170)
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py
index 8706c64b64..82e99f0001 100644
--- a/tests/urlpatterns_reverse/tests.py
+++ b/tests/urlpatterns_reverse/tests.py
@@ -762,7 +762,8 @@ class ErroneousViewTests(TestCase):
self.assertRaises(ImportError, self.client.get, '/erroneous_outer/')
self.assertRaises(ViewDoesNotExist, self.client.get, '/missing_inner/')
self.assertRaises(ViewDoesNotExist, self.client.get, '/missing_outer/')
- self.assertRaises(ViewDoesNotExist, self.client.get, '/uncallable/')
+ self.assertRaises(ViewDoesNotExist, self.client.get, '/uncallable-dotted/')
+ self.assertRaises(ViewDoesNotExist, self.client.get, '/uncallable-object/')
# Regression test for #21157
self.assertRaises(ImportError, self.client.get, '/erroneous_unqualified/')
diff --git a/tests/urlpatterns_reverse/views.py b/tests/urlpatterns_reverse/views.py
index 9fd2ad166e..e13d28777e 100644
--- a/tests/urlpatterns_reverse/views.py
+++ b/tests/urlpatterns_reverse/views.py
@@ -35,7 +35,7 @@ def pass_resolver_match_view(request, *args, **kwargs):
response.resolver_match = request.resolver_match
return response
-uncallable = "Can I be a view? Pleeeease?"
+uncallable = None # neither a callable nor a string
class ViewClass(object):