mirror of
https://github.com/python/cpython.git
synced 2025-10-17 20:28:43 +00:00
#6118: dont ignore encoding arguments for arguments with spaces in quote_plus().
This commit is contained in:
parent
8ca69de237
commit
faf4149f72
3 changed files with 19 additions and 1 deletions
|
@ -510,6 +510,21 @@ class QuotingTests(unittest.TestCase):
|
||||||
self.assertEqual(expect, result,
|
self.assertEqual(expect, result,
|
||||||
"using quote(): %r != %r" % (expect, result))
|
"using quote(): %r != %r" % (expect, result))
|
||||||
|
|
||||||
|
def test_quote_plus_with_unicode(self):
|
||||||
|
# Encoding (latin-1) test for quote_plus
|
||||||
|
given = "\xa2\xd8 \xff"
|
||||||
|
expect = "%A2%D8+%FF"
|
||||||
|
result = urllib.parse.quote_plus(given, encoding="latin-1")
|
||||||
|
self.assertEqual(expect, result,
|
||||||
|
"using quote_plus(): %r != %r" % (expect, result))
|
||||||
|
# Errors test for quote_plus
|
||||||
|
given = "ab\u6f22\u5b57 cd"
|
||||||
|
expect = "ab%3F%3F+cd"
|
||||||
|
result = urllib.parse.quote_plus(given, encoding="latin-1",
|
||||||
|
errors="replace")
|
||||||
|
self.assertEqual(expect, result,
|
||||||
|
"using quote_plus(): %r != %r" % (expect, result))
|
||||||
|
|
||||||
class UnquotingTests(unittest.TestCase):
|
class UnquotingTests(unittest.TestCase):
|
||||||
"""Tests for unquote() and unquote_plus()
|
"""Tests for unquote() and unquote_plus()
|
||||||
|
|
||||||
|
|
|
@ -488,7 +488,7 @@ def quote_plus(string, safe='', encoding=None, errors=None):
|
||||||
space = ' '
|
space = ' '
|
||||||
else:
|
else:
|
||||||
space = b' '
|
space = b' '
|
||||||
string = quote(string, safe + space)
|
string = quote(string, safe + space, encoding, errors)
|
||||||
return string.replace(' ', '+')
|
return string.replace(' ', '+')
|
||||||
|
|
||||||
def quote_from_bytes(bs, safe='/'):
|
def quote_from_bytes(bs, safe='/'):
|
||||||
|
|
|
@ -34,6 +34,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #6118: urllib.parse.quote_plus ignored the encoding and errors
|
||||||
|
arguments for strings with a space in them.
|
||||||
|
|
||||||
- In unittest, using a skipping decorator on a class is now equivalent to
|
- In unittest, using a skipping decorator on a class is now equivalent to
|
||||||
skipping every test on the class. The ClassTestSuite class has been removed.
|
skipping every test on the class. The ClassTestSuite class has been removed.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue