summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarkus Holtermann <info@markusholtermann.eu>2014-10-31 12:04:01 +0100
committerTim Graham <timograham@gmail.com>2014-10-31 08:06:40 -0400
commited2f96819c9ad6e21e4d397b6418915f5caf522f (patch)
tree8fbca93a0edcdc0ac26258ad9bd4a87d0ad9c025 /tests
parent98da408964b229ee0b35bb8c4500820e3606aeab (diff)
Fixed #23715 -- Prevented urlize from treating a trailing ! as part of an URL
Thanks to 57even for the report.
Diffstat (limited to 'tests')
-rw-r--r--tests/defaultfilters/tests.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/defaultfilters/tests.py b/tests/defaultfilters/tests.py
index 7d135f8caf..bf80ccb313 100644
--- a/tests/defaultfilters/tests.py
+++ b/tests/defaultfilters/tests.py
@@ -282,8 +282,8 @@ class DefaultFiltersTests(TestCase):
'<a href="http://hi.baidu.com/%E9%87%8D%E6%96%B0%E5%BC%80%E5%A7%8B" rel="nofollow">'
'http://hi.baidu.com/%E9%87%8D%E6%96%B0%E5%BC%80%E5%A7%8B</a>')
self.assertEqual(urlize('www.mystore.com/30%OffCoupons!'),
- '<a href="http://www.mystore.com/30%25OffCoupons!" rel="nofollow">'
- 'www.mystore.com/30%OffCoupons!</a>')
+ '<a href="http://www.mystore.com/30%25OffCoupons" rel="nofollow">'
+ 'www.mystore.com/30%OffCoupons</a>!')
self.assertEqual(urlize('http://en.wikipedia.org/wiki/Caf%C3%A9'),
'<a href="http://en.wikipedia.org/wiki/Caf%C3%A9" rel="nofollow">'
'http://en.wikipedia.org/wiki/Caf%C3%A9</a>')
@@ -370,6 +370,16 @@ class DefaultFiltersTests(TestCase):
self.assertEqual(urlize('Email us at "hi@example.com", or phone us at +xx.yy'),
'Email us at "<a href="mailto:hi@example.com">hi@example.com</a>", or phone us at +xx.yy')
+ # Check urlize correctly handles exclamation marks after TLDs or query string - see #23715
+ self.assertEqual(urlize('Go to djangoproject.com! and enjoy.'),
+ 'Go to <a href="http://djangoproject.com" rel="nofollow">djangoproject.com</a>! and enjoy.')
+ self.assertEqual(urlize('Search for google.com/?q=! and see.'),
+ 'Search for <a href="http://google.com/?q=" rel="nofollow">google.com/?q=</a>! and see.')
+ self.assertEqual(urlize('Search for google.com/?q=dj!`? and see.'),
+ 'Search for <a href="http://google.com/?q=dj%21%60%3F" rel="nofollow">google.com/?q=dj!`?</a> and see.')
+ self.assertEqual(urlize('Search for google.com/?q=dj!`?! and see.'),
+ 'Search for <a href="http://google.com/?q=dj%21%60%3F" rel="nofollow">google.com/?q=dj!`?</a>! and see.')
+
def test_wordcount(self):
self.assertEqual(wordcount(''), 0)
self.assertEqual(wordcount('oneword'), 1)