Django

Code

Changeset 6706

Show
Ignore:
Timestamp:
11/19/07 19:37:57 (11 months ago)
Author:
mtredinnick
Message:

Fixed #5983 -- Made iriencode filter respect safe strings. Patch from
SmileyChris?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/template/defaultfilters.py

    r6671 r6706  
    107107    """Escapes an IRI value for use in a URL.""" 
    108108    return force_unicode(iri_to_uri(value)) 
     109iriencode.is_safe = True 
    109110iriencode = stringfilter(iriencode) 
    110111 
  • django/trunk/tests/regressiontests/templates/filters.py

    r6684 r6706  
    199199        'filter-phone2numeric02': ('{% autoescape off %}{{ a|phone2numeric }} {{ b|phone2numeric }}{% endautoescape %}', {"a": "<1-800-call-me>", "b": mark_safe("<1-800-call-me>") }, "<1-800-2255-63> <1-800-2255-63>"), 
    200200 
     201        # Ensure iriencode keeps safe strings: 
     202        'filter-iriencode01': ('{{ url|iriencode }}', {'url': '?test=1&me=2'}, '?test=1&amp;me=2'), 
     203        'filter-iriencode02': ('{% autoescape off %}{{ url|iriencode }}{% endautoescape %}', {'url': '?test=1&me=2'}, '?test=1&me=2'), 
     204        'filter-iriencode03': ('{{ url|iriencode }}', {'url': mark_safe('?test=1&me=2')}, '?test=1&me=2'), 
     205        'filter-iriencode04': ('{% autoescape off %}{{ url|iriencode }}{% endautoescape %}', {'url': mark_safe('?test=1&me=2')}, '?test=1&me=2'), 
     206 
    201207        # Chaining a bunch of safeness-preserving filters should not alter 
    202208        # the safe status either way.