| #!/usr/bin/env python | |
| # | |
| # test_codecmaps_jp.py | |
| # Codec mapping tests for Japanese encodings | |
| # | |
| from test import test_support | |
| from test import test_multibytecodec_support | |
| import unittest | |
| class TestCP932Map(test_multibytecodec_support.TestBase_Mapping, | |
| unittest.TestCase): | |
| encoding = 'cp932' | |
| mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/' \ | |
| 'WINDOWS/CP932.TXT' | |
| supmaps = [ | |
| ('\x80', u'\u0080'), | |
| ('\xa0', u'\uf8f0'), | |
| ('\xfd', u'\uf8f1'), | |
| ('\xfe', u'\uf8f2'), | |
| ('\xff', u'\uf8f3'), | |
| ] | |
| for i in range(0xa1, 0xe0): | |
| supmaps.append((chr(i), unichr(i+0xfec0))) | |
| class TestEUCJPCOMPATMap(test_multibytecodec_support.TestBase_Mapping, | |
| unittest.TestCase): | |
| encoding = 'euc_jp' | |
| mapfilename = 'EUC-JP.TXT' | |
| mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JP.TXT' | |
| class TestSJISCOMPATMap(test_multibytecodec_support.TestBase_Mapping, | |
| unittest.TestCase): | |
| encoding = 'shift_jis' | |
| mapfilename = 'SHIFTJIS.TXT' | |
| mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE' \ | |
| '/EASTASIA/JIS/SHIFTJIS.TXT' | |
| pass_enctest = [ | |
| ('\x81_', u'\\'), | |
| ] | |
| pass_dectest = [ | |
| ('\\', u'\xa5'), | |
| ('~', u'\u203e'), | |
| ('\x81_', u'\\'), | |
| ] | |
| class TestEUCJISX0213Map(test_multibytecodec_support.TestBase_Mapping, | |
| unittest.TestCase): | |
| encoding = 'euc_jisx0213' | |
| mapfilename = 'EUC-JISX0213.TXT' | |
| mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JISX0213.TXT' | |
| class TestSJISX0213Map(test_multibytecodec_support.TestBase_Mapping, | |
| unittest.TestCase): | |
| encoding = 'shift_jisx0213' | |
| mapfilename = 'SHIFT_JISX0213.TXT' | |
| mapfileurl = 'http://people.freebsd.org/~perky/i18n/SHIFT_JISX0213.TXT' | |
| def test_main(): | |
| test_support.run_unittest(__name__) | |
| if __name__ == "__main__": | |
| test_main() |