Fixed #32866 -- Fixed trimming trailing punctuation from escaped string in urlize().
This commit is contained in:
parent
c51bf80d56
commit
68cc04887b
|
@ -283,8 +283,9 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False):
|
||||||
middle_unescaped = html.unescape(middle)
|
middle_unescaped = html.unescape(middle)
|
||||||
stripped = middle_unescaped.rstrip(TRAILING_PUNCTUATION_CHARS)
|
stripped = middle_unescaped.rstrip(TRAILING_PUNCTUATION_CHARS)
|
||||||
if middle_unescaped != stripped:
|
if middle_unescaped != stripped:
|
||||||
trail = middle[len(stripped):] + trail
|
punctuation_count = len(middle_unescaped) - len(stripped)
|
||||||
middle = middle[:len(stripped) - len(middle_unescaped)]
|
trail = middle[-punctuation_count:] + trail
|
||||||
|
middle = middle[:-punctuation_count]
|
||||||
trimmed_something = True
|
trimmed_something = True
|
||||||
return lead, middle, trail
|
return lead, middle, trail
|
||||||
|
|
||||||
|
|
|
@ -250,6 +250,10 @@ class TestUtilsHtml(SimpleTestCase):
|
||||||
'Search for google.com/?q=! and see.',
|
'Search for google.com/?q=! and see.',
|
||||||
'Search for <a href="http://google.com/?q=">google.com/?q=</a>! and see.'
|
'Search for <a href="http://google.com/?q=">google.com/?q=</a>! and see.'
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
'Search for google.com/?q=1<! and see.',
|
||||||
|
'Search for <a href="http://google.com/?q=1%3C">google.com/?q=1<</a>! and see.'
|
||||||
|
),
|
||||||
(
|
(
|
||||||
lazystr('Search for google.com/?q=!'),
|
lazystr('Search for google.com/?q=!'),
|
||||||
'Search for <a href="http://google.com/?q=">google.com/?q=</a>!'
|
'Search for <a href="http://google.com/?q=">google.com/?q=</a>!'
|
||||||
|
|
Loading…
Reference in New Issue