summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2009-04-04 06:54:56 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2009-04-04 06:54:56 +0000
commitff166a3cdce99e93c97a19781b17d60e67d70f99 (patch)
tree26c21ad85b09268cdc850163b35da2a3a290a7fc
parent2b1934ff3c3f80f58cc35bdcc03ae1b0ea6eb17e (diff)
downloaddjango-ff166a3cdce99e93c97a19781b17d60e67d70f99.tar.gz
Fixed #10065 -- Corrected an error message when an empty urlpattern object is provided. Thanks to Matthew Flanagan for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10385 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/urlresolvers.py2
-rw-r--r--tests/regressiontests/urlpatterns_reverse/no_urls.py2
-rw-r--r--tests/regressiontests/urlpatterns_reverse/tests.py23
3 files changed, 21 insertions, 6 deletions
diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py
index 042e0b81d5..ac83756f31 100644
--- a/django/core/urlresolvers.py
+++ b/django/core/urlresolvers.py
@@ -209,7 +209,7 @@ class RegexURLResolver(object):
try:
iter(patterns)
except TypeError:
- raise ImproperlyConfigured("The included urlconf %s doesn't have any"
+ raise ImproperlyConfigured("The included urlconf %s doesn't have any "
"patterns in it" % self.urlconf_name)
return patterns
url_patterns = property(_get_url_patterns)
diff --git a/tests/regressiontests/urlpatterns_reverse/no_urls.py b/tests/regressiontests/urlpatterns_reverse/no_urls.py
new file mode 100644
index 0000000000..c9b9efea78
--- /dev/null
+++ b/tests/regressiontests/urlpatterns_reverse/no_urls.py
@@ -0,0 +1,2 @@
+#from django.conf.urls.defaults import *
+
diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py
index b7ef0e5b9b..a7283d43bb 100644
--- a/tests/regressiontests/urlpatterns_reverse/tests.py
+++ b/tests/regressiontests/urlpatterns_reverse/tests.py
@@ -1,6 +1,19 @@
"""
Unit tests for reverse URL lookups.
"""
+__test__ = {'API_TESTS': """
+
+RegexURLResolver should raise an exception when no urlpatterns exist.
+
+>>> from django.core.urlresolvers import RegexURLResolver
+>>> no_urls = 'regressiontests.urlpatterns_reverse.no_urls'
+>>> resolver = RegexURLResolver(r'^$', no_urls)
+>>> resolver.url_patterns
+Traceback (most recent call last):
+...
+ImproperlyConfigured: The included urlconf regressiontests.urlpatterns_reverse.no_urls doesn't have any patterns in it
+"""}
+
from django.core.urlresolvers import reverse, NoReverseMatch
from django.http import HttpResponseRedirect, HttpResponsePermanentRedirect
@@ -101,21 +114,21 @@ class URLPatternReverse(TestCase):
class ReverseShortcutTests(TestCase):
urls = 'regressiontests.urlpatterns_reverse.urls'
-
+
def test_redirect_to_object(self):
# We don't really need a model; just something with a get_absolute_url
class FakeObj(object):
def get_absolute_url(self):
return "/hi-there/"
-
+
res = redirect(FakeObj())
self.assert_(isinstance(res, HttpResponseRedirect))
self.assertEqual(res['Location'], '/hi-there/')
-
+
res = redirect(FakeObj(), permanent=True)
self.assert_(isinstance(res, HttpResponsePermanentRedirect))
self.assertEqual(res['Location'], '/hi-there/')
-
+
def test_redirect_to_view_name(self):
res = redirect('hardcoded2')
self.assertEqual(res['Location'], '/hardcoded/doc.pdf')
@@ -124,7 +137,7 @@ class ReverseShortcutTests(TestCase):
res = redirect('headlines', year='2008', month='02', day='17')
self.assertEqual(res['Location'], '/headlines/2008.02.17/')
self.assertRaises(NoReverseMatch, redirect, 'not-a-view')
-
+
def test_redirect_to_url(self):
res = redirect('/foo/')
self.assertEqual(res['Location'], '/foo/')