Added a warning filter to don't show the warning during

the tests. Also fixed the warning message in cgi.py
This commit is contained in:
Facundo Batista 2008-09-09 02:43:19 +00:00
parent 1cd0247a4d
commit a27244bfa1
2 changed files with 14 additions and 5 deletions

View File

@ -168,7 +168,7 @@ def parse_qs(qs, keep_blank_values=0, strict_parsing=0):
def parse_qsl(qs, keep_blank_values=0, strict_parsing=0):
"""Parse a query given as a string argument."""
warn("cgi.parse_qsl is deprecated, use urllib.parse.parse_qs instead",
warn("cgi.parse_qsl is deprecated, use urllib.parse.parse_qsl instead",
DeprecationWarning)
return urllib.parse.parse_qsl(qs, keep_blank_values, strict_parsing)

View File

@ -5,6 +5,7 @@ import sys
import tempfile
import unittest
from io import StringIO
from warnings import catch_warnings, filterwarnings
class HackedSysModule:
# The regression test will have real values in sys.argv, which
@ -308,13 +309,21 @@ this is the content of the fake file
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'))
with catch_warnings():
filterwarnings('ignore',
'cgi.parse_qs is deprecated, use urllib.parse.parse_qs instead',
DeprecationWarning)
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'))
with catch_warnings():
filterwarnings('ignore',
'cgi.parse_qsl is deprecated, use urllib.parse.parse_qsl instead',
DeprecationWarning)
self.assertEqual([('a', 'A1'), ('b', 'B2'), ('B', 'B3')],
cgi.parse_qsl('a=A1&b=B2&B=B3'))
def test_main():
run_unittest(CgiTests)