diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2013-07-28 10:05:39 +0200 |
|---|---|---|
| committer | Florian Apolloner <florian@apolloner.eu> | 2013-07-28 10:05:39 +0200 |
| commit | b70c371fc1f18ea0c43b503122df3f311afc7105 (patch) | |
| tree | 79a9ea6d62dfb21ec333ce63b09a54ebc11c814a /tests/utils_tests/test_html.py | |
| parent | 0d0ccf81a0c18f42866d914672469f720861988a (diff) | |
Simplified smart_urlquote and added some basic tests.
Diffstat (limited to 'tests/utils_tests/test_html.py')
| -rw-r--r-- | tests/utils_tests/test_html.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py index 1f2e19d8d5..74d94ea19d 100644 --- a/tests/utils_tests/test_html.py +++ b/tests/utils_tests/test_html.py @@ -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') |
