mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +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,
|
||||
"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):
|
||||
"""Tests for unquote() and unquote_plus()
|
||||
|
||||
|
|
|
@ -488,7 +488,7 @@ def quote_plus(string, safe='', encoding=None, errors=None):
|
|||
space = ' '
|
||||
else:
|
||||
space = b' '
|
||||
string = quote(string, safe + space)
|
||||
string = quote(string, safe + space, encoding, errors)
|
||||
return string.replace(' ', '+')
|
||||
|
||||
def quote_from_bytes(bs, safe='/'):
|
||||
|
|
|
@ -34,6 +34,9 @@ Core and Builtins
|
|||
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
|
||||
skipping every test on the class. The ClassTestSuite class has been removed.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue