diff options
Diffstat (limited to 'tests/test_unicode_support.py')
-rw-r--r-- | tests/test_unicode_support.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_unicode_support.py b/tests/test_unicode_support.py new file mode 100644 index 0000000..0d6ea86 --- /dev/null +++ b/tests/test_unicode_support.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- + +from rfc3986 import uri_reference + + +def test_unicode_uri(): + url_bytestring = b'http://example.com?utf8=\xe2\x98\x83' + unicode_url = url_bytestring.decode('utf-8') + uri = uri_reference(unicode_url) + assert uri.is_valid() is True + assert uri == 'http://example.com?utf8=%E2%98%83' + + +def test_unicode_uri_passed_as_bytes(): + url_bytestring = b'http://example.com?utf8=\xe2\x98\x83' + uri = uri_reference(url_bytestring) + assert uri.is_valid() is True + assert uri == 'http://example.com?utf8=%E2%98%83' + + +def test_unicode_authority(): + url_bytestring = b'http://\xe2\x98\x83.com' + unicode_url = url_bytestring.decode('utf-8') + uri = uri_reference(unicode_url) + assert uri.is_valid() is False + assert uri == unicode_url |