mirror of
https://github.com/django/django.git
synced 2025-07-18 16:49:13 +00:00
[1.0.X] Fixed #10834 -- Added bucket condition to ensure that URL resolvers won't ever return None. Thanks to Chris Cahoon for the patch.
Merge of r11120 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@11122 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c4e240fae3
commit
1153d4bf80
@ -192,6 +192,7 @@ class RegexURLResolver(object):
|
||||
return sub_match[0], sub_match[1], sub_match_dict
|
||||
tried.append(pattern.regex.pattern)
|
||||
raise Resolver404, {'tried': tried, 'path': new_path}
|
||||
raise Resolver404, {'tried': [], 'path' : path}
|
||||
|
||||
def _get_urlconf_module(self):
|
||||
try:
|
||||
|
@ -2,7 +2,9 @@
|
||||
Unit tests for reverse URL lookups.
|
||||
"""
|
||||
|
||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||
import unittest
|
||||
|
||||
from django.core.urlresolvers import reverse, resolve, NoReverseMatch, Resolver404
|
||||
from django.test import TestCase
|
||||
|
||||
test_data = (
|
||||
@ -96,3 +98,17 @@ class URLPatternReverse(TestCase):
|
||||
else:
|
||||
self.assertEquals(got, expected)
|
||||
|
||||
class ResolverTests(unittest.TestCase):
|
||||
def test_non_regex(self):
|
||||
"""
|
||||
Verifies that we raise a Resolver404 if what we are resolving doesn't
|
||||
meet the basic requirements of a path to match - i.e., at the very
|
||||
least, it matches the root pattern '^/'. We must never return None
|
||||
from resolve, or we will get a TypeError further down the line.
|
||||
|
||||
Regression for #10834.
|
||||
"""
|
||||
self.assertRaises(Resolver404, resolve, '')
|
||||
self.assertRaises(Resolver404, resolve, 'a')
|
||||
self.assertRaises(Resolver404, resolve, '\\')
|
||||
self.assertRaises(Resolver404, resolve, '.')
|
||||
|
Loading…
x
Reference in New Issue
Block a user