|
1 #!/usr/bin/env python |
|
2 # |
|
3 # test_codecmaps_jp.py |
|
4 # Codec mapping tests for Japanese encodings |
|
5 # |
|
6 |
|
7 from test import test_support |
|
8 from test import test_multibytecodec_support |
|
9 import unittest |
|
10 |
|
11 class TestCP932Map(test_multibytecodec_support.TestBase_Mapping, |
|
12 unittest.TestCase): |
|
13 encoding = 'cp932' |
|
14 mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/' \ |
|
15 'WINDOWS/CP932.TXT' |
|
16 supmaps = [ |
|
17 ('\x80', u'\u0080'), |
|
18 ('\xa0', u'\uf8f0'), |
|
19 ('\xfd', u'\uf8f1'), |
|
20 ('\xfe', u'\uf8f2'), |
|
21 ('\xff', u'\uf8f3'), |
|
22 ] |
|
23 for i in range(0xa1, 0xe0): |
|
24 supmaps.append((chr(i), unichr(i+0xfec0))) |
|
25 |
|
26 |
|
27 class TestEUCJPCOMPATMap(test_multibytecodec_support.TestBase_Mapping, |
|
28 unittest.TestCase): |
|
29 encoding = 'euc_jp' |
|
30 mapfilename = 'EUC-JP.TXT' |
|
31 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JP.TXT' |
|
32 |
|
33 |
|
34 class TestSJISCOMPATMap(test_multibytecodec_support.TestBase_Mapping, |
|
35 unittest.TestCase): |
|
36 encoding = 'shift_jis' |
|
37 mapfilename = 'SHIFTJIS.TXT' |
|
38 mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE' \ |
|
39 '/EASTASIA/JIS/SHIFTJIS.TXT' |
|
40 pass_enctest = [ |
|
41 ('\x81_', u'\\'), |
|
42 ] |
|
43 pass_dectest = [ |
|
44 ('\\', u'\xa5'), |
|
45 ('~', u'\u203e'), |
|
46 ('\x81_', u'\\'), |
|
47 ] |
|
48 |
|
49 class TestEUCJISX0213Map(test_multibytecodec_support.TestBase_Mapping, |
|
50 unittest.TestCase): |
|
51 encoding = 'euc_jisx0213' |
|
52 mapfilename = 'EUC-JISX0213.TXT' |
|
53 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JISX0213.TXT' |
|
54 |
|
55 |
|
56 class TestSJISX0213Map(test_multibytecodec_support.TestBase_Mapping, |
|
57 unittest.TestCase): |
|
58 encoding = 'shift_jisx0213' |
|
59 mapfilename = 'SHIFT_JISX0213.TXT' |
|
60 mapfileurl = 'http://people.freebsd.org/~perky/i18n/SHIFT_JISX0213.TXT' |
|
61 |
|
62 |
|
63 def test_main(): |
|
64 test_support.run_unittest(__name__) |
|
65 |
|
66 if __name__ == "__main__": |
|
67 test_main() |