Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1d87deb

Browse files
author
Victor Stinner
committed
test_urlparse: add tests for encoding and errors arguments
1 parent ac71c54 commit 1d87deb

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

Lib/test/test_urlparse.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,33 @@ def test_result_pairs(self):
688688
for result_type in result_types:
689689
self._check_result_type(result_type)
690690

691+
def test_parse_qs_encoding(self):
692+
result = urllib.parse.parse_qs("key=\u0141%E9", encoding="latin-1")
693+
self.assertEqual(result, {'key': ['\u0141\xE9']})
694+
result = urllib.parse.parse_qs("key=\u0141%C3%A9", encoding="utf-8")
695+
self.assertEqual(result, {'key': ['\u0141\xE9']})
696+
result = urllib.parse.parse_qs("key=\u0141%C3%A9", encoding="ascii")
697+
self.assertEqual(result, {'key': ['\u0141\ufffd\ufffd']})
698+
result = urllib.parse.parse_qs("key=\u0141%E9-", encoding="ascii")
699+
self.assertEqual(result, {'key': ['\u0141\ufffd-']})
700+
result = urllib.parse.parse_qs("key=\u0141%E9-", encoding="ascii",
701+
errors="ignore")
702+
self.assertEqual(result, {'key': ['\u0141-']})
703+
704+
def test_parse_qsl_encoding(self):
705+
result = urllib.parse.parse_qsl("key=\u0141%E9", encoding="latin-1")
706+
self.assertEqual(result, [('key', '\u0141\xE9')])
707+
result = urllib.parse.parse_qsl("key=\u0141%C3%A9", encoding="utf-8")
708+
self.assertEqual(result, [('key', '\u0141\xE9')])
709+
result = urllib.parse.parse_qsl("key=\u0141%C3%A9", encoding="ascii")
710+
self.assertEqual(result, [('key', '\u0141\ufffd\ufffd')])
711+
result = urllib.parse.parse_qsl("key=\u0141%E9-", encoding="ascii")
712+
self.assertEqual(result, [('key', '\u0141\ufffd-')])
713+
result = urllib.parse.parse_qsl("key=\u0141%E9-", encoding="ascii",
714+
errors="ignore")
715+
self.assertEqual(result, [('key', '\u0141-')])
716+
717+
691718

692719
def test_main():
693720
support.run_unittest(UrlParseTestCase)

0 commit comments

Comments
 (0)