mirror of
https://github.com/django/django.git
synced 2025-08-10 05:48:15 +00:00
[1.6.x] Simplified smart_urlquote and added some basic tests.
Backport of b70c371fc1
from master.
This commit is contained in:
parent
dbbd2b1272
commit
081a27c358
3 changed files with 21 additions and 12 deletions
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from datetime import datetime
|
||||
|
@ -181,3 +182,13 @@ class TestUtilsHtml(TestCase):
|
|||
)
|
||||
for value, tags, output in items:
|
||||
self.assertEqual(f(value, tags), output)
|
||||
|
||||
def test_smart_urlquote(self):
|
||||
quote = html.smart_urlquote
|
||||
# Ensure that IDNs are properly quoted
|
||||
self.assertEqual(quote('http://öäü.com/'), 'http://xn--4ca9at.com/')
|
||||
self.assertEqual(quote('http://öäü.com/öäü/'), 'http://xn--4ca9at.com/%C3%B6%C3%A4%C3%BC/')
|
||||
# Ensure that everything unsafe is quoted, !*'();:@&=+$,/?#[]~ is considered safe as per RFC
|
||||
self.assertEqual(quote('http://example.com/path/öäü/'), 'http://example.com/path/%C3%B6%C3%A4%C3%BC/')
|
||||
self.assertEqual(quote('http://example.com/%C3%B6/ä/'), 'http://example.com/%C3%B6/%C3%A4/')
|
||||
self.assertEqual(quote('http://example.com/?x=1&y=2'), 'http://example.com/?x=1&y=2')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue