diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2010-08-06 14:34:10 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2010-08-06 14:34:10 +0000 |
| commit | f90a25551dbd10b7d57725a2abec3e11cf0e22cd (patch) | |
| tree | 0be0cef364b859cc97e801e90b2e273aa52d1a3c | |
| parent | d3ba8cb88b2f3939398c9c54e5aa5c6e7495e56f (diff) | |
Fixed #14027 -- Ensure that reverse() raises an exception when you try to reverse None. Thanks to Alex for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13499 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/core/urlresolvers.py | 3 | ||||
| -rw-r--r-- | tests/regressiontests/urlpatterns_reverse/tests.py | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index a8f52a6c8e..6881bbda9f 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -217,7 +217,8 @@ class RegexURLResolver(object): else: bits = normalize(p_pattern) lookups.appendlist(pattern.callback, (bits, p_pattern)) - lookups.appendlist(pattern.name, (bits, p_pattern)) + if pattern.name is not None: + lookups.appendlist(pattern.name, (bits, p_pattern)) self._reverse_dict = lookups self._namespace_dict = namespaces self._app_dict = apps diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py index 1a50fd6413..dcd942649c 100644 --- a/tests/regressiontests/urlpatterns_reverse/tests.py +++ b/tests/regressiontests/urlpatterns_reverse/tests.py @@ -154,6 +154,10 @@ class URLPatternReverse(TestCase): else: self.assertEquals(got, expected) + def test_reverse_none(self): + # Reversing None should raise an error, not return the last un-named view. + self.assertRaises(NoReverseMatch, reverse, None) + class ResolverTests(unittest.TestCase): def test_non_regex(self): """ |
