blob: ef491781c547794f34a43c6a651657d5d6f570ab [file] [log] [blame]
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00001#!/usr/bin/env python
2#
3# test_codecmaps_jp.py
4# Codec mapping tests for Japanese encodings
5#
6# $CJKCodecs: test_codecmaps_jp.py,v 1.2 2004/01/17 12:47:19 perky Exp $
7
8from test import test_support
9from test import test_multibytecodec_support
10import unittest
11
12class TestCP932Map(test_multibytecodec_support.TestBase_Mapping,
13 unittest.TestCase):
14 encoding = 'cp932'
15 mapfilename = 'CP932.TXT'
16 mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/' \
17 'WINDOWS/CP932.TXT'
18 supmaps = [
19 ('\x80', u'\u0080'),
20 ('\xa0', u'\uf8f0'),
21 ('\xfd', u'\uf8f1'),
22 ('\xfe', u'\uf8f2'),
23 ('\xff', u'\uf8f3'),
24 ]
25 for i in range(0xa1, 0xe0):
26 supmaps.append((chr(i), unichr(i+0xfec0)))
27
28
29class TestEUCJPCOMPATMap(test_multibytecodec_support.TestBase_Mapping,
30 unittest.TestCase):
31 encoding = 'euc_jp'
32 mapfilename = 'EUC-JP.TXT'
33 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JP.TXT'
34
35
36class TestSJISCOMPATMap(test_multibytecodec_support.TestBase_Mapping,
37 unittest.TestCase):
38 encoding = 'shift_jis'
39 mapfilename = 'SHIFTJIS.TXT'
40 mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE' \
41 '/EASTASIA/JIS/SHIFTJIS.TXT'
42 pass_enctest = [
43 ('\x81_', u'\\'),
44 ]
45 pass_dectest = [
46 ('\\', u'\xa5'),
47 ('~', u'\u203e'),
48 ('\x81_', u'\\'),
49 ]
50
51
52class TestSJISSTRICTMap(test_multibytecodec_support.TestBase_Mapping,
53 unittest.TestCase):
54 encoding = 'shift_jis_strict'
55 mapfilename = 'SHIFTJIS.TXT'
56 mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE' \
57 '/EASTASIA/JIS/SHIFTJIS.TXT'
58
59
60class TestEUCJISX0213Map(test_multibytecodec_support.TestBase_Mapping,
61 unittest.TestCase):
62 encoding = 'euc_jisx0213'
63 mapfilename = 'EUC-JISX0213.TXT'
64 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JISX0213.TXT'
65
66
67class TestSJISX0213Map(test_multibytecodec_support.TestBase_Mapping,
68 unittest.TestCase):
69 encoding = 'shift_jisx0213'
70 mapfilename = 'SHIFT_JISX0213.TXT'
71 mapfileurl = 'http://people.freebsd.org/~perky/i18n/SHIFT_JISX0213.TXT'
72
73
74def test_main():
75 suite = unittest.TestSuite()
76 suite.addTest(unittest.makeSuite(TestCP932Map))
77 suite.addTest(unittest.makeSuite(TestEUCJPCOMPATMap))
78 suite.addTest(unittest.makeSuite(TestSJISCOMPATMap))
79 if test_multibytecodec_support.__cjkcodecs__:
80 suite.addTest(unittest.makeSuite(TestSJISSTRICTMap))
81 suite.addTest(unittest.makeSuite(TestEUCJISX0213Map))
82 suite.addTest(unittest.makeSuite(TestSJISX0213Map))
83 test_support.run_suite(suite)
84
85test_multibytecodec_support.register_skip_expected(TestCP932Map,
86 TestEUCJPCOMPATMap, TestSJISCOMPATMap, TestEUCJISX0213Map,
87 TestSJISX0213Map)
88if __name__ == "__main__":
89 test_main()
90