diff options
Diffstat (limited to 'tests/utils_tests/test_encoding.py')
| -rw-r--r-- | tests/utils_tests/test_encoding.py | 19 |
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): |
