17db96d56Sopenharmony_ci#
27db96d56Sopenharmony_ci# test_codecmaps_jp.py
37db96d56Sopenharmony_ci#   Codec mapping tests for Japanese encodings
47db96d56Sopenharmony_ci#
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_cifrom test import multibytecodec_support
77db96d56Sopenharmony_ciimport unittest
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ciclass TestCP932Map(multibytecodec_support.TestBase_Mapping,
107db96d56Sopenharmony_ci                   unittest.TestCase):
117db96d56Sopenharmony_ci    encoding = 'cp932'
127db96d56Sopenharmony_ci    mapfileurl = 'http://www.pythontest.net/unicode/CP932.TXT'
137db96d56Sopenharmony_ci    supmaps = [
147db96d56Sopenharmony_ci        (b'\x80', '\u0080'),
157db96d56Sopenharmony_ci        (b'\xa0', '\uf8f0'),
167db96d56Sopenharmony_ci        (b'\xfd', '\uf8f1'),
177db96d56Sopenharmony_ci        (b'\xfe', '\uf8f2'),
187db96d56Sopenharmony_ci        (b'\xff', '\uf8f3'),
197db96d56Sopenharmony_ci    ]
207db96d56Sopenharmony_ci    for i in range(0xa1, 0xe0):
217db96d56Sopenharmony_ci        supmaps.append((bytes([i]), chr(i+0xfec0)))
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ciclass TestEUCJPCOMPATMap(multibytecodec_support.TestBase_Mapping,
257db96d56Sopenharmony_ci                         unittest.TestCase):
267db96d56Sopenharmony_ci    encoding = 'euc_jp'
277db96d56Sopenharmony_ci    mapfilename = 'EUC-JP.TXT'
287db96d56Sopenharmony_ci    mapfileurl = 'http://www.pythontest.net/unicode/EUC-JP.TXT'
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ciclass TestSJISCOMPATMap(multibytecodec_support.TestBase_Mapping,
327db96d56Sopenharmony_ci                        unittest.TestCase):
337db96d56Sopenharmony_ci    encoding = 'shift_jis'
347db96d56Sopenharmony_ci    mapfilename = 'SHIFTJIS.TXT'
357db96d56Sopenharmony_ci    mapfileurl = 'http://www.pythontest.net/unicode/SHIFTJIS.TXT'
367db96d56Sopenharmony_ci    pass_enctest = [
377db96d56Sopenharmony_ci        (b'\x81_', '\\'),
387db96d56Sopenharmony_ci    ]
397db96d56Sopenharmony_ci    pass_dectest = [
407db96d56Sopenharmony_ci        (b'\\', '\xa5'),
417db96d56Sopenharmony_ci        (b'~', '\u203e'),
427db96d56Sopenharmony_ci        (b'\x81_', '\\'),
437db96d56Sopenharmony_ci    ]
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_ciclass TestEUCJISX0213Map(multibytecodec_support.TestBase_Mapping,
467db96d56Sopenharmony_ci                         unittest.TestCase):
477db96d56Sopenharmony_ci    encoding = 'euc_jisx0213'
487db96d56Sopenharmony_ci    mapfilename = 'EUC-JISX0213.TXT'
497db96d56Sopenharmony_ci    mapfileurl = 'http://www.pythontest.net/unicode/EUC-JISX0213.TXT'
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ciclass TestSJISX0213Map(multibytecodec_support.TestBase_Mapping,
537db96d56Sopenharmony_ci                       unittest.TestCase):
547db96d56Sopenharmony_ci    encoding = 'shift_jisx0213'
557db96d56Sopenharmony_ci    mapfilename = 'SHIFT_JISX0213.TXT'
567db96d56Sopenharmony_ci    mapfileurl = 'http://www.pythontest.net/unicode/SHIFT_JISX0213.TXT'
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_ciif __name__ == "__main__":
607db96d56Sopenharmony_ci    unittest.main()
61