summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-09-01 23:03:03 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-09-01 23:03:03 +0000
commita9465a75de3d233df1a5e03b35835590369b1a30 (patch)
treed1209900d1e9029fac912ce61be0e0ea0f7d3662
parenteefec151d1443dfadaf0ef24f7422d4f22f52b43 (diff)
Fixed a case of incorrect parsing of quanitifers in reg-exp patterns.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8825 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/utils/regex_helper.py1
-rw-r--r--tests/regressiontests/urlpatterns_reverse/tests.py1
-rw-r--r--tests/regressiontests/urlpatterns_reverse/urls.py1
3 files changed, 3 insertions, 0 deletions
diff --git a/django/utils/regex_helper.py b/django/utils/regex_helper.py
index 545bf8899c..996e391707 100644
--- a/django/utils/regex_helper.py
+++ b/django/utils/regex_helper.py
@@ -248,6 +248,7 @@ def get_quantifier(ch, input_iter):
while ch != '}':
ch, escaped = input_iter.next()
quant.append(ch)
+ quant = quant[:-1]
values = ''.join(quant).split(',')
# Consume the trailing '?', if necessary.
diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py
index ff94196a92..f743af36dd 100644
--- a/tests/regressiontests/urlpatterns_reverse/tests.py
+++ b/tests/regressiontests/urlpatterns_reverse/tests.py
@@ -50,6 +50,7 @@ test_data = (
('mixed', '/john/0/', [], {'name': 'john'}),
('repeats', '/repeats/a/', [], {}),
('repeats2', '/repeats/aa/', [], {}),
+ ('repeats3', '/repeats/aa/', [], {}),
('insensitive', '/CaseInsensitive/fred', ['fred'], {}),
('test', '/test/1', [], {}),
('test2', '/test/2', [], {}),
diff --git a/tests/regressiontests/urlpatterns_reverse/urls.py b/tests/regressiontests/urlpatterns_reverse/urls.py
index 1adefbe0a3..0f66346337 100644
--- a/tests/regressiontests/urlpatterns_reverse/urls.py
+++ b/tests/regressiontests/urlpatterns_reverse/urls.py
@@ -35,6 +35,7 @@ urlpatterns = patterns('',
url(r'^(?P<name>.+)/\d+/$', empty_view, name="mixed"),
url(r'^repeats/a{1,2}/$', empty_view, name="repeats"),
url(r'^repeats/a{2,4}/$', empty_view, name="repeats2"),
+ url(r'^repeats/a{2}/$', empty_view, name="repeats3"),
url(r'^(?i)CaseInsensitive/(\w+)', empty_view, name="insensitive"),
url(r'^test/1/?', empty_view, name="test"),
url(r'^(?i)test/2/?$', empty_view, name="test2"),