blob: 1fdbf634e3ac9c867c5fd1ac614a4fa5b593db50 [file] [log] [blame]
Benjamin Peterson90f5ba52010-03-11 22:53:45 +00001#!/usr/bin/env python3
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00002#
3# test_codecmaps_jp.py
4# Codec mapping tests for Japanese encodings
5#
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00006
Benjamin Petersonee8712c2008-05-20 21:35:26 +00007from test import support
R David Murray75d9aca2012-04-09 09:37:52 -04008from test import multibytecodec_support
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +00009import unittest
10
R David Murray75d9aca2012-04-09 09:37:52 -040011class TestCP932Map(multibytecodec_support.TestBase_Mapping,
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000012 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 = [
Guido van Rossum005ebb12007-07-23 18:06:59 +000017 (b'\x80', '\u0080'),
18 (b'\xa0', '\uf8f0'),
19 (b'\xfd', '\uf8f1'),
20 (b'\xfe', '\uf8f2'),
21 (b'\xff', '\uf8f3'),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000022 ]
23 for i in range(0xa1, 0xe0):
Guido van Rossum005ebb12007-07-23 18:06:59 +000024 supmaps.append((bytes([i]), chr(i+0xfec0)))
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000025
26
R David Murray75d9aca2012-04-09 09:37:52 -040027class TestEUCJPCOMPATMap(multibytecodec_support.TestBase_Mapping,
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000028 unittest.TestCase):
29 encoding = 'euc_jp'
30 mapfilename = 'EUC-JP.TXT'
31 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JP.TXT'
32
33
R David Murray75d9aca2012-04-09 09:37:52 -040034class TestSJISCOMPATMap(multibytecodec_support.TestBase_Mapping,
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000035 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 = [
Guido van Rossum005ebb12007-07-23 18:06:59 +000041 (b'\x81_', '\\'),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000042 ]
43 pass_dectest = [
Guido van Rossum005ebb12007-07-23 18:06:59 +000044 (b'\\', '\xa5'),
45 (b'~', '\u203e'),
46 (b'\x81_', '\\'),
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000047 ]
48
R David Murray75d9aca2012-04-09 09:37:52 -040049class TestEUCJISX0213Map(multibytecodec_support.TestBase_Mapping,
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000050 unittest.TestCase):
51 encoding = 'euc_jisx0213'
52 mapfilename = 'EUC-JISX0213.TXT'
53 mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JISX0213.TXT'
54
55
R David Murray75d9aca2012-04-09 09:37:52 -040056class TestSJISX0213Map(multibytecodec_support.TestBase_Mapping,
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000057 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():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000064 support.run_unittest(__name__)
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000065
Hye-Shik Chang3e2a3062004-01-17 14:29:29 +000066if __name__ == "__main__":
67 test_main()