mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Make all the multibyte codec tests pass.
Changes to io.py, necessary to make this work: - Redid io.StringIO as a TextIOWrapper on top of a BytesIO instance. - Got rid of _MemoryIOMixin, folding it into BytesIO instead. - The read() functions that take -1 to mean "eveything" now also take None. - Added readline() support to BufferedIOBase. :-(
This commit is contained in:
parent
f4cfc8f6bb
commit
024da5c257
10 changed files with 1225 additions and 1227 deletions
|
@ -13,12 +13,12 @@ class Test_GB2312(test_multibytecodec_support.TestBase, unittest.TestCase):
|
|||
tstring = test_multibytecodec_support.load_teststring('gb2312')
|
||||
codectests = (
|
||||
# invalid bytes
|
||||
("abc\x81\x81\xc1\xc4", "strict", None),
|
||||
("abc\xc8", "strict", None),
|
||||
("abc\x81\x81\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
("abc\x81\x81\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
("abc\x81\x81\xc1\xc4", "ignore", "abc\u804a"),
|
||||
("\xc1\x64", "strict", None),
|
||||
(b"abc\x81\x81\xc1\xc4", "strict", None),
|
||||
(b"abc\xc8", "strict", None),
|
||||
(b"abc\x81\x81\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
(b"abc\x81\x81\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
(b"abc\x81\x81\xc1\xc4", "ignore", "abc\u804a"),
|
||||
(b"\xc1\x64", "strict", None),
|
||||
)
|
||||
|
||||
class Test_GBK(test_multibytecodec_support.TestBase, unittest.TestCase):
|
||||
|
@ -26,12 +26,12 @@ class Test_GBK(test_multibytecodec_support.TestBase, unittest.TestCase):
|
|||
tstring = test_multibytecodec_support.load_teststring('gbk')
|
||||
codectests = (
|
||||
# invalid bytes
|
||||
("abc\x80\x80\xc1\xc4", "strict", None),
|
||||
("abc\xc8", "strict", None),
|
||||
("abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
("abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
("abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
|
||||
("\x83\x34\x83\x31", "strict", None),
|
||||
(b"abc\x80\x80\xc1\xc4", "strict", None),
|
||||
(b"abc\xc8", "strict", None),
|
||||
(b"abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
(b"abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
(b"abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
|
||||
(b"\x83\x34\x83\x31", "strict", None),
|
||||
("\u30fb", "strict", None),
|
||||
)
|
||||
|
||||
|
@ -40,13 +40,13 @@ class Test_GB18030(test_multibytecodec_support.TestBase, unittest.TestCase):
|
|||
tstring = test_multibytecodec_support.load_teststring('gb18030')
|
||||
codectests = (
|
||||
# invalid bytes
|
||||
("abc\x80\x80\xc1\xc4", "strict", None),
|
||||
("abc\xc8", "strict", None),
|
||||
("abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
("abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
("abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
|
||||
("abc\x84\x39\x84\x39\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
("\u30fb", "strict", "\x819\xa79"),
|
||||
(b"abc\x80\x80\xc1\xc4", "strict", None),
|
||||
(b"abc\xc8", "strict", None),
|
||||
(b"abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
(b"abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
|
||||
(b"abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
|
||||
(b"abc\x84\x39\x84\x39\xc1\xc4", "replace", "abc\ufffd\u804a"),
|
||||
("\u30fb", "strict", b"\x819\xa79"),
|
||||
)
|
||||
has_iso10646 = True
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue