diff options
author | Hye-Shik Chang <hyeshik@gmail.com> | 2004-01-17 14:29:29 (GMT) |
---|---|---|
committer | Hye-Shik Chang <hyeshik@gmail.com> | 2004-01-17 14:29:29 (GMT) |
commit | 3e2a30692085d32ac63f72b35da39158a471fc68 (patch) | |
tree | 4cbe735f61eae87ac56a13ca6bd32113b98bd03d /Lib/test/test_codecmaps_jp.py | |
parent | cd1f7430cb8f48de970021071d7683054c23b10f (diff) | |
download | cpython-3e2a30692085d32ac63f72b35da39158a471fc68.zip cpython-3e2a30692085d32ac63f72b35da39158a471fc68.tar.gz cpython-3e2a30692085d32ac63f72b35da39158a471fc68.tar.bz2 |
Add CJK codecs support as discussed on python-dev. (SF #873597)
Several style fixes are suggested by Martin v. Loewis and
Marc-Andre Lemburg. Thanks!
Diffstat (limited to 'Lib/test/test_codecmaps_jp.py')
-rw-r--r-- | Lib/test/test_codecmaps_jp.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Lib/test/test_codecmaps_jp.py b/Lib/test/test_codecmaps_jp.py new file mode 100644 index 0000000..ef49178 --- /dev/null +++ b/Lib/test/test_codecmaps_jp.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python +# +# test_codecmaps_jp.py +# Codec mapping tests for Japanese encodings +# +# $CJKCodecs: test_codecmaps_jp.py,v 1.2 2004/01/17 12:47:19 perky Exp $ + +from test import test_support +from test import test_multibytecodec_support +import unittest + +class TestCP932Map(test_multibytecodec_support.TestBase_Mapping, + unittest.TestCase): + encoding = 'cp932' + mapfilename = 'CP932.TXT' + 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 TestSJISSTRICTMap(test_multibytecodec_support.TestBase_Mapping, + unittest.TestCase): + encoding = 'shift_jis_strict' + mapfilename = 'SHIFTJIS.TXT' + mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE' \ + '/EASTASIA/JIS/SHIFTJIS.TXT' + + +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(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestCP932Map)) + suite.addTest(unittest.makeSuite(TestEUCJPCOMPATMap)) + suite.addTest(unittest.makeSuite(TestSJISCOMPATMap)) + if test_multibytecodec_support.__cjkcodecs__: + suite.addTest(unittest.makeSuite(TestSJISSTRICTMap)) + suite.addTest(unittest.makeSuite(TestEUCJISX0213Map)) + suite.addTest(unittest.makeSuite(TestSJISX0213Map)) + test_support.run_suite(suite) + +test_multibytecodec_support.register_skip_expected(TestCP932Map, + TestEUCJPCOMPATMap, TestSJISCOMPATMap, TestEUCJISX0213Map, + TestSJISX0213Map) +if __name__ == "__main__": + test_main() + |