• Guido van Rossum's avatar
    Make all the multibyte codec tests pass. · 024da5c2
    Guido van Rossum yazdı
    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. :-(
    024da5c2
test_codecencodings_tw.py 790 Bytes
#!/usr/bin/env python
#
# test_codecencodings_tw.py
#   Codec encoding tests for ROC encodings.
#

from test import test_support
from test import test_multibytecodec_support
import unittest

class Test_Big5(test_multibytecodec_support.TestBase, unittest.TestCase):
    encoding = 'big5'
    tstring = test_multibytecodec_support.load_teststring('big5')
    codectests = (
        # invalid bytes
        (b"abc\x80\x80\xc1\xc4", "strict",  None),
        (b"abc\xc8", "strict",  None),
        (b"abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u8b10"),
        (b"abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u8b10\ufffd"),
        (b"abc\x80\x80\xc1\xc4", "ignore",  "abc\u8b10"),
    )

def test_main():
    test_support.run_unittest(__name__)

if __name__ == "__main__":
    test_main()