diff options
author | Hye-Shik Chang <hyeshik@gmail.com> | 2004-01-17 14:29:29 (GMT) |
---|---|---|
committer | Hye-Shik Chang <hyeshik@gmail.com> | 2004-01-17 14:29:29 (GMT) |
commit | 3e2a30692085d32ac63f72b35da39158a471fc68 (patch) | |
tree | 4cbe735f61eae87ac56a13ca6bd32113b98bd03d /Lib/test/test_codecencodings_cn.py | |
parent | cd1f7430cb8f48de970021071d7683054c23b10f (diff) | |
download | cpython-3e2a30692085d32ac63f72b35da39158a471fc68.zip cpython-3e2a30692085d32ac63f72b35da39158a471fc68.tar.gz cpython-3e2a30692085d32ac63f72b35da39158a471fc68.tar.bz2 |
Add CJK codecs support as discussed on python-dev. (SF #873597)
Several style fixes are suggested by Martin v. Loewis and
Marc-Andre Lemburg. Thanks!
Diffstat (limited to 'Lib/test/test_codecencodings_cn.py')
-rw-r--r-- | Lib/test/test_codecencodings_cn.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Lib/test/test_codecencodings_cn.py b/Lib/test/test_codecencodings_cn.py new file mode 100644 index 0000000..3960c9c --- /dev/null +++ b/Lib/test/test_codecencodings_cn.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +# +# test_codecencodings_cn.py +# Codec encoding tests for PRC encodings. +# +# $CJKCodecs: test_codecencodings_cn.py,v 1.1 2003/12/19 03:00:05 perky Exp $ + +from test import test_support +from test import test_multibytecodec_support +import unittest + +class Test_GB2312(test_multibytecodec_support.TestBase, unittest.TestCase): + encoding = 'gb2312' + 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", u"abc\ufffd\u804a"), + ("abc\x81\x81\xc1\xc4\xc8", "replace", u"abc\ufffd\u804a\ufffd"), + ("abc\x81\x81\xc1\xc4", "ignore", u"abc\u804a"), + ("\xc1\x64", "strict", None), + ) + +class Test_GBK(test_multibytecodec_support.TestBase, unittest.TestCase): + encoding = 'gbk' + 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", u"abc\ufffd\u804a"), + ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\u804a\ufffd"), + ("abc\x80\x80\xc1\xc4", "ignore", u"abc\u804a"), + ("\x83\x34\x83\x31", "strict", None), + ) + +class Test_GB18030(test_multibytecodec_support.TestBase, unittest.TestCase): + encoding = 'gb18030' + 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", u"abc\ufffd\u804a"), + ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\u804a\ufffd"), + ("abc\x80\x80\xc1\xc4", "ignore", u"abc\u804a"), + ("abc\x84\x39\x84\x39\xc1\xc4", "replace", u"abc\ufffd\u804a"), + ) + has_iso10646 = True + +def test_main(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(Test_GB2312)) + suite.addTest(unittest.makeSuite(Test_GBK)) + suite.addTest(unittest.makeSuite(Test_GB18030)) + test_support.run_suite(suite) + +if __name__ == "__main__": + test_main() + |