Issue 3801. Fixing a dumb error in the deprecated parse_qsl()
function. Tests added.
diff --git a/Lib/cgi.py b/Lib/cgi.py
index 373ba51..33b91bf 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -189,7 +189,7 @@
"""Parse a query given as a string argument."""
warn("cgi.parse_qsl is deprecated, use urlparse.parse_qsl instead",
PendingDeprecationWarning)
- return urlparse.parse_qs(qs, keep_blank_values, strict_parsing)
+ return urlparse.parse_qsl(qs, keep_blank_values, strict_parsing)
def parse_multipart(fp, pdict):
"""Parse multipart input.
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 79bca4e..fa1d37f 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -344,6 +344,17 @@
v = gen_result(data, environ)
self.assertEqual(result, v)
+ def test_deprecated_parse_qs(self):
+ # this func is moved to urlparse, this is just a sanity check
+ self.assertEqual({'a': ['A1'], 'B': ['B3'], 'b': ['B2']},
+ cgi.parse_qs('a=A1&b=B2&B=B3'))
+
+ def test_deprecated_parse_qsl(self):
+ # this func is moved to urlparse, this is just a sanity check
+ self.assertEqual([('a', 'A1'), ('b', 'B2'), ('B', 'B3')],
+ cgi.parse_qsl('a=A1&b=B2&B=B3'))
+
+
def test_main():
run_unittest(CgiTests)