blob: 08052d43a87b644484d83ec77f213102a4cbbbcb [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#
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00006
7from test import test_support
8from test import test_multibytecodec_support
9import unittest
10
11class TestCP932Map(test_multibytecodec_support.TestBase_Mapping,
12 unittest.TestCase):
13 encoding = 'cp932'
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000014 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
27class 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
34class 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
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000049class 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
56class 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
63def test_main():
64 suite = unittest.TestSuite()
65 suite.addTest(unittest.makeSuite(TestCP932Map))
66 suite.addTest(unittest.makeSuite(TestEUCJPCOMPATMap))
67 suite.addTest(unittest.makeSuite(TestSJISCOMPATMap))
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000068 suite.addTest(unittest.makeSuite(TestEUCJISX0213Map))
69 suite.addTest(unittest.makeSuite(TestSJISX0213Map))
70 test_support.run_suite(suite)
71
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000072if __name__ == "__main__":
73 test_main()