blob: 77bac139cff17a5365153d0b6866d2ab8bf391ef [file] [log] [blame]
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00001#!/usr/bin/env python
2#
3# test_codecencodings_cn.py
4# Codec encoding tests for PRC encodings.
5#
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00006
Benjamin Petersonee8712c2008-05-20 21:35:26 +00007from test import support
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00008from test import test_multibytecodec_support
9import unittest
10
11class Test_GB2312(test_multibytecodec_support.TestBase, unittest.TestCase):
12 encoding = 'gb2312'
13 tstring = test_multibytecodec_support.load_teststring('gb2312')
14 codectests = (
15 # invalid bytes
Guido van Rossum024da5c2007-05-17 23:59:11 +000016 (b"abc\x81\x81\xc1\xc4", "strict", None),
17 (b"abc\xc8", "strict", None),
18 (b"abc\x81\x81\xc1\xc4", "replace", "abc\ufffd\u804a"),
19 (b"abc\x81\x81\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
20 (b"abc\x81\x81\xc1\xc4", "ignore", "abc\u804a"),
21 (b"\xc1\x64", "strict", None),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000022 )
23
24class Test_GBK(test_multibytecodec_support.TestBase, unittest.TestCase):
25 encoding = 'gbk'
26 tstring = test_multibytecodec_support.load_teststring('gbk')
27 codectests = (
28 # invalid bytes
Guido van Rossum024da5c2007-05-17 23:59:11 +000029 (b"abc\x80\x80\xc1\xc4", "strict", None),
30 (b"abc\xc8", "strict", None),
31 (b"abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
32 (b"abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
33 (b"abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
34 (b"\x83\x34\x83\x31", "strict", None),
Guido van Rossumef87d6e2007-05-02 19:09:54 +000035 ("\u30fb", "strict", None),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000036 )
37
38class Test_GB18030(test_multibytecodec_support.TestBase, unittest.TestCase):
39 encoding = 'gb18030'
40 tstring = test_multibytecodec_support.load_teststring('gb18030')
41 codectests = (
42 # invalid bytes
Guido van Rossum024da5c2007-05-17 23:59:11 +000043 (b"abc\x80\x80\xc1\xc4", "strict", None),
44 (b"abc\xc8", "strict", None),
45 (b"abc\x80\x80\xc1\xc4", "replace", "abc\ufffd\u804a"),
46 (b"abc\x80\x80\xc1\xc4\xc8", "replace", "abc\ufffd\u804a\ufffd"),
47 (b"abc\x80\x80\xc1\xc4", "ignore", "abc\u804a"),
48 (b"abc\x84\x39\x84\x39\xc1\xc4", "replace", "abc\ufffd\u804a"),
49 ("\u30fb", "strict", b"\x819\xa79"),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000050 )
51 has_iso10646 = True
52
53def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000054 support.run_unittest(__name__)
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000055
56if __name__ == "__main__":
57 test_main()