mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #20172 -- Ensured urlize supports IPv4/IPv6 addresses
Thanks Marc Aymerich for the report and the initial patch.
This commit is contained in:
		| @@ -26,7 +26,7 @@ DOTS = ['·', '*', '\u2022', '•', '•', '•'] | ||||
| unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)') | ||||
| unquoted_percents_re = re.compile(r'%(?![0-9A-Fa-f]{2})') | ||||
| word_split_re = re.compile(r'(\s+)') | ||||
| simple_url_re = re.compile(r'^https?://\w', re.IGNORECASE) | ||||
| 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+$') | ||||
| link_target_attribute_re = re.compile(r'(<a [^>]*?)target=[^\s>]+') | ||||
|   | ||||
| @@ -314,6 +314,11 @@ class DefaultFiltersTests(TestCase): | ||||
|         self.assertEqual(urlize('see test[at[example.com'), | ||||
|             'see <a href="http://test[at[example.com" rel="nofollow">test[at[example.com</a>' ) | ||||
|  | ||||
|         # Check urlize works with IPv4/IPv6 addresses | ||||
|         self.assertEqual(urlize('http://192.168.0.15/api/9'), | ||||
|             '<a href="http://192.168.0.15/api/9" rel="nofollow">http://192.168.0.15/api/9</a>') | ||||
|         self.assertEqual(urlize('http://[2001:db8:cafe::2]/api/9'), | ||||
|             '<a href="http://[2001:db8:cafe::2]/api/9" rel="nofollow">http://[2001:db8:cafe::2]/api/9</a>') | ||||
|  | ||||
|     def test_wordcount(self): | ||||
|         self.assertEqual(wordcount(''), 0) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user