summaryrefslogtreecommitdiff
path: root/tests/utils_tests/test_encoding.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils_tests/test_encoding.py')
-rw-r--r--tests/utils_tests/test_encoding.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/utils_tests/test_encoding.py b/tests/utils_tests/test_encoding.py
index a91f5965db..526fb709ce 100644
--- a/tests/utils_tests/test_encoding.py
+++ b/tests/utils_tests/test_encoding.py
@@ -5,8 +5,9 @@ import unittest
import datetime
from django.utils import six
-from django.utils.encoding import (force_bytes, force_text, filepath_to_uri,
- python_2_unicode_compatible)
+from django.utils.encoding import (filepath_to_uri, force_bytes,
+ force_text, iri_to_uri, python_2_unicode_compatible)
+from django.utils.http import urlquote_plus
class TestEncodingUtils(unittest.TestCase):
@@ -45,6 +46,20 @@ class TestEncodingUtils(unittest.TestCase):
self.assertEqual(filepath_to_uri('upload\\чубака.mp4'.encode('utf-8')),
'upload/%D1%87%D1%83%D0%B1%D0%B0%D0%BA%D0%B0.mp4')
+ def test_iri_to_uri(self):
+ self.assertEqual(iri_to_uri('red%09ros\xe9#red'),
+ 'red%09ros%C3%A9#red')
+
+ self.assertEqual(iri_to_uri('/blog/for/J\xfcrgen M\xfcnster/'),
+ '/blog/for/J%C3%BCrgen%20M%C3%BCnster/')
+
+ self.assertEqual(iri_to_uri('locations/%s' % urlquote_plus('Paris & Orl\xe9ans')),
+ 'locations/Paris+%26+Orl%C3%A9ans')
+
+ def test_iri_to_uri_idempotent(self):
+ self.assertEqual(iri_to_uri(iri_to_uri('red%09ros\xe9#red')),
+ 'red%09ros%C3%A9#red')
+
@unittest.skipIf(six.PY3, "tests a class not defining __str__ under Python 2")
def test_decorated_class_without_str(self):
with self.assertRaises(ValueError):