68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
#!/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()
|