[Python-checkins] r87997 - python/branches/py3k/Lib/test/test_urlparse.py

victor.stinner python-checkins at python.org
Fri Jan 14 14:05:20 CET 2011


Author: victor.stinner
Date: Fri Jan 14 14:05:19 2011
New Revision: 87997

Log:
test_urlparse: add tests for encoding and errors arguments

Modified:
   python/branches/py3k/Lib/test/test_urlparse.py

Modified: python/branches/py3k/Lib/test/test_urlparse.py
==============================================================================
--- python/branches/py3k/Lib/test/test_urlparse.py	(original)
+++ python/branches/py3k/Lib/test/test_urlparse.py	Fri Jan 14 14:05:19 2011
@@ -688,6 +688,33 @@
         for result_type in result_types:
             self._check_result_type(result_type)
 
+    def test_parse_qs_encoding(self):
+        result = urllib.parse.parse_qs("key=\u0141%E9", encoding="latin-1")
+        self.assertEqual(result, {'key': ['\u0141\xE9']})
+        result = urllib.parse.parse_qs("key=\u0141%C3%A9", encoding="utf-8")
+        self.assertEqual(result, {'key': ['\u0141\xE9']})
+        result = urllib.parse.parse_qs("key=\u0141%C3%A9", encoding="ascii")
+        self.assertEqual(result, {'key': ['\u0141\ufffd\ufffd']})
+        result = urllib.parse.parse_qs("key=\u0141%E9-", encoding="ascii")
+        self.assertEqual(result, {'key': ['\u0141\ufffd-']})
+        result = urllib.parse.parse_qs("key=\u0141%E9-", encoding="ascii",
+                                                          errors="ignore")
+        self.assertEqual(result, {'key': ['\u0141-']})
+
+    def test_parse_qsl_encoding(self):
+        result = urllib.parse.parse_qsl("key=\u0141%E9", encoding="latin-1")
+        self.assertEqual(result, [('key', '\u0141\xE9')])
+        result = urllib.parse.parse_qsl("key=\u0141%C3%A9", encoding="utf-8")
+        self.assertEqual(result, [('key', '\u0141\xE9')])
+        result = urllib.parse.parse_qsl("key=\u0141%C3%A9", encoding="ascii")
+        self.assertEqual(result, [('key', '\u0141\ufffd\ufffd')])
+        result = urllib.parse.parse_qsl("key=\u0141%E9-", encoding="ascii")
+        self.assertEqual(result, [('key', '\u0141\ufffd-')])
+        result = urllib.parse.parse_qsl("key=\u0141%E9-", encoding="ascii",
+                                                          errors="ignore")
+        self.assertEqual(result, [('key', '\u0141-')])
+
+
 
 def test_main():
     support.run_unittest(UrlParseTestCase)


More information about the Python-checkins mailing list