mirror of
https://github.com/django/django.git
synced 2024-12-01 15:42:04 +01:00
Fixed #24471 -- Enhanced urlize regex to exclude quotes and angle brackets.
This commit is contained in:
parent
7b1a67cce5
commit
3ed9c7bdfe
@ -26,7 +26,7 @@ WRAPPING_PUNCTUATION = [('(', ')'), ('<', '>'), ('[', ']'), ('<', '>'), ('
|
||||
DOTS = ['·', '*', '\u2022', '•', '•', '•']
|
||||
|
||||
unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)')
|
||||
word_split_re = re.compile(r'(\s+)')
|
||||
word_split_re = re.compile(r'''([\s<>"']+)''')
|
||||
simple_url_re = re.compile(r'^https?://\[?\w', re.IGNORECASE)
|
||||
simple_url_2_re = re.compile(r'^www\.|^(?!http)\w[^@]+\.(com|edu|gov|int|mil|net|org)($|/.*)$', re.IGNORECASE)
|
||||
simple_email_re = re.compile(r'^\S+@\S+\.\S+$')
|
||||
|
@ -106,6 +106,26 @@ class FunctionTests(SimpleTestCase):
|
||||
'<a href="http://djangoproject.org/" rel="nofollow">djangoproject.org/</a>',
|
||||
)
|
||||
|
||||
def test_url_split_chars(self):
|
||||
# Quotes (single and double) and angle brackets shouldn't be considered
|
||||
# part of URLs.
|
||||
self.assertEqual(
|
||||
urlize('www.server.com"abc'),
|
||||
'<a href="http://www.server.com" rel="nofollow">www.server.com</a>"abc',
|
||||
)
|
||||
self.assertEqual(
|
||||
urlize('www.server.com\'abc'),
|
||||
'<a href="http://www.server.com" rel="nofollow">www.server.com</a>'abc',
|
||||
)
|
||||
self.assertEqual(
|
||||
urlize('www.server.com<abc'),
|
||||
'<a href="http://www.server.com" rel="nofollow">www.server.com</a><abc',
|
||||
)
|
||||
self.assertEqual(
|
||||
urlize('www.server.com>abc'),
|
||||
'<a href="http://www.server.com" rel="nofollow">www.server.com</a>>abc',
|
||||
)
|
||||
|
||||
def test_email(self):
|
||||
self.assertEqual(
|
||||
urlize('info@djangoproject.org'),
|
||||
|
Loading…
Reference in New Issue
Block a user