1 #
2 # test_codecmaps_jp.py
3 # Codec mapping tests for Japanese encodings
4 #
5
6 from test import multibytecodec_support
7 import unittest
8
9 class ESC[4;38;5;81mTestCP932Map(ESC[4;38;5;149mmultibytecodec_supportESC[4;38;5;149m.ESC[4;38;5;149mTestBase_Mapping,
10 ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
11 encoding = 'cp932'
12 mapfileurl = 'http://www.pythontest.net/unicode/CP932.TXT'
13 supmaps = [
14 (b'\x80', '\u0080'),
15 (b'\xa0', '\uf8f0'),
16 (b'\xfd', '\uf8f1'),
17 (b'\xfe', '\uf8f2'),
18 (b'\xff', '\uf8f3'),
19 ]
20 for i in range(0xa1, 0xe0):
21 supmaps.append((bytes([i]), chr(i+0xfec0)))
22
23
24 class ESC[4;38;5;81mTestEUCJPCOMPATMap(ESC[4;38;5;149mmultibytecodec_supportESC[4;38;5;149m.ESC[4;38;5;149mTestBase_Mapping,
25 ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
26 encoding = 'euc_jp'
27 mapfilename = 'EUC-JP.TXT'
28 mapfileurl = 'http://www.pythontest.net/unicode/EUC-JP.TXT'
29
30
31 class ESC[4;38;5;81mTestSJISCOMPATMap(ESC[4;38;5;149mmultibytecodec_supportESC[4;38;5;149m.ESC[4;38;5;149mTestBase_Mapping,
32 ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
33 encoding = 'shift_jis'
34 mapfilename = 'SHIFTJIS.TXT'
35 mapfileurl = 'http://www.pythontest.net/unicode/SHIFTJIS.TXT'
36 pass_enctest = [
37 (b'\x81_', '\\'),
38 ]
39 pass_dectest = [
40 (b'\\', '\xa5'),
41 (b'~', '\u203e'),
42 (b'\x81_', '\\'),
43 ]
44
45 class ESC[4;38;5;81mTestEUCJISX0213Map(ESC[4;38;5;149mmultibytecodec_supportESC[4;38;5;149m.ESC[4;38;5;149mTestBase_Mapping,
46 ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
47 encoding = 'euc_jisx0213'
48 mapfilename = 'EUC-JISX0213.TXT'
49 mapfileurl = 'http://www.pythontest.net/unicode/EUC-JISX0213.TXT'
50
51
52 class ESC[4;38;5;81mTestSJISX0213Map(ESC[4;38;5;149mmultibytecodec_supportESC[4;38;5;149m.ESC[4;38;5;149mTestBase_Mapping,
53 ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
54 encoding = 'shift_jisx0213'
55 mapfilename = 'SHIFT_JISX0213.TXT'
56 mapfileurl = 'http://www.pythontest.net/unicode/SHIFT_JISX0213.TXT'
57
58
59 if __name__ == "__main__":
60 unittest.main()