Django

Code

Changeset 8763

Show
Ignore:
Timestamp:
08/31/08 12:20:40 (3 months ago)
Author:
mtredinnick
Message:

Fixed #8725 -- Handle empty URL patterns in reverse().

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/utils/regex_helper.py

    r8760 r8763  
    7575    # at the next character and possibly go around without consuming another 
    7676    # one at the top of the loop. 
    77     ch, escaped = pattern_iter.next() 
     77    try: 
     78        ch, escaped = pattern_iter.next() 
     79    except StopIteration: 
     80        return zip([''],  [[]]) 
     81 
    7882    try: 
    7983        while True: 
  • django/trunk/tests/regressiontests/urlpatterns_reverse/tests.py

    r8760 r8763  
    6262    ('disjunction', NoReverseMatch, ['foo'], {}), 
    6363    ('inner-disjunction', NoReverseMatch, ['10', '11'], {}), 
     64    ('extra-places', '/e-places/10/', ['10'], {}), 
     65    ('extra-people', '/e-people/fred/', ['fred'], {}), 
     66    ('extra-people', '/e-people/fred/', [], {'name': 'fred'}), 
    6467) 
    6568 
  • django/trunk/tests/regressiontests/urlpatterns_reverse/urls.py

    r8760 r8763  
    4141    url(r'^outer/(?P<outer>\d+)/', 
    4242            include('regressiontests.urlpatterns_reverse.included_urls')), 
     43    url('', include('regressiontests.urlpatterns_reverse.extra_urls')), 
    4344 
    4445    # This is non-reversible, but we shouldn't blow up when parsing it.