mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Rename utf8b error handler to surrogateescape.
This commit is contained in:
parent
e0a2b72e61
commit
43c57785d3
9 changed files with 30 additions and 30 deletions
|
@ -1521,32 +1521,32 @@ class TypesTest(unittest.TestCase):
|
|||
self.assertEquals(codecs.raw_unicode_escape_decode(r"\u1234"), ("\u1234", 6))
|
||||
self.assertEquals(codecs.raw_unicode_escape_decode(br"\u1234"), ("\u1234", 6))
|
||||
|
||||
class Utf8bTest(unittest.TestCase):
|
||||
class SurrogateEscapeTest(unittest.TestCase):
|
||||
|
||||
def test_utf8(self):
|
||||
# Bad byte
|
||||
self.assertEqual(b"foo\x80bar".decode("utf-8", "utf8b"),
|
||||
self.assertEqual(b"foo\x80bar".decode("utf-8", "surrogateescape"),
|
||||
"foo\udc80bar")
|
||||
self.assertEqual("foo\udc80bar".encode("utf-8", "utf8b"),
|
||||
self.assertEqual("foo\udc80bar".encode("utf-8", "surrogateescape"),
|
||||
b"foo\x80bar")
|
||||
# bad-utf-8 encoded surrogate
|
||||
self.assertEqual(b"\xed\xb0\x80".decode("utf-8", "utf8b"),
|
||||
self.assertEqual(b"\xed\xb0\x80".decode("utf-8", "surrogateescape"),
|
||||
"\udced\udcb0\udc80")
|
||||
self.assertEqual("\udced\udcb0\udc80".encode("utf-8", "utf8b"),
|
||||
self.assertEqual("\udced\udcb0\udc80".encode("utf-8", "surrogateescape"),
|
||||
b"\xed\xb0\x80")
|
||||
|
||||
def test_ascii(self):
|
||||
# bad byte
|
||||
self.assertEqual(b"foo\x80bar".decode("ascii", "utf8b"),
|
||||
self.assertEqual(b"foo\x80bar".decode("ascii", "surrogateescape"),
|
||||
"foo\udc80bar")
|
||||
self.assertEqual("foo\udc80bar".encode("ascii", "utf8b"),
|
||||
self.assertEqual("foo\udc80bar".encode("ascii", "surrogateescape"),
|
||||
b"foo\x80bar")
|
||||
|
||||
def test_charmap(self):
|
||||
# bad byte: \xa5 is unmapped in iso-8859-3
|
||||
self.assertEqual(b"foo\xa5bar".decode("iso-8859-3", "utf8b"),
|
||||
self.assertEqual(b"foo\xa5bar".decode("iso-8859-3", "surrogateescape"),
|
||||
"foo\udca5bar")
|
||||
self.assertEqual("foo\udca5bar".encode("iso-8859-3", "utf8b"),
|
||||
self.assertEqual("foo\udca5bar".encode("iso-8859-3", "surrogateescape"),
|
||||
b"foo\xa5bar")
|
||||
|
||||
|
||||
|
@ -1576,7 +1576,7 @@ def test_main():
|
|||
CharmapTest,
|
||||
WithStmtTest,
|
||||
TypesTest,
|
||||
Utf8bTest,
|
||||
SurrogateEscapeTest,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -708,13 +708,13 @@ if sys.platform != 'win32':
|
|||
self.fsencoding = sys.getfilesystemencoding()
|
||||
sys.setfilesystemencoding("utf-8")
|
||||
self.dir = support.TESTFN
|
||||
self.bdir = self.dir.encode("utf-8", "utf8b")
|
||||
self.bdir = self.dir.encode("utf-8", "surrogateescape")
|
||||
os.mkdir(self.dir)
|
||||
self.unicodefn = []
|
||||
for fn in self.filenames:
|
||||
f = open(os.path.join(self.bdir, fn), "w")
|
||||
f.close()
|
||||
self.unicodefn.append(fn.decode("utf-8", "utf8b"))
|
||||
self.unicodefn.append(fn.decode("utf-8", "surrogateescape"))
|
||||
|
||||
def tearDown(self):
|
||||
shutil.rmtree(self.dir)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue