Thread: [KoCo-CVS] [Commit] cjkcodecs/tests test_encoding_cp949.py test_encoding_euc_kr.py test_mapping_cp94
Brought to you by:
perky
From: Hye-Shik C. <pe...@us...> - 2003-05-27 05:25:07
|
perky 03/05/26 22:17:48 Modified: tests test_encoding_cp932.py test_encoding_euc_jp.py test_encoding_shift_jis.py test_multibytecodec_support.py Added: tests test_encoding_cp949.py test_encoding_euc_kr.py test_mapping_cp949.py Log: - Add unittests for korean encodings. - Use raw sample text files. Revision Changes Path 1.3 +2 -2 cjkcodecs/tests/test_encoding_cp932.py Index: test_encoding_cp932.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_encoding_cp932.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- test_encoding_cp932.py 26 May 2003 11:48:01 -0000 1.2 +++ test_encoding_cp932.py 27 May 2003 05:17:47 -0000 1.3 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_encoding_cp932.py,v 1.2 2003/05/26 11:48:01 perky Exp $ +# $Id: test_encoding_cp932.py,v 1.3 2003/05/27 05:17:47 perky Exp $ # from test import test_support @@ -36,7 +36,7 @@ class Test_CP932(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'cp932' - from sampletexts.shift_jis import teststring as tstring + tstring = test_multibytecodec_support.load_teststring('shift_jis') errortests = ( # invalid bytes ("abc\x80\x80\x82\x84", "strict", None), 1.2 +2 -2 cjkcodecs/tests/test_encoding_euc_jp.py Index: test_encoding_euc_jp.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_encoding_euc_jp.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- test_encoding_euc_jp.py 26 May 2003 11:40:41 -0000 1.1 +++ test_encoding_euc_jp.py 27 May 2003 05:17:47 -0000 1.2 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_encoding_euc_jp.py,v 1.1 2003/05/26 11:40:41 perky Exp $ +# $Id: test_encoding_euc_jp.py,v 1.2 2003/05/27 05:17:47 perky Exp $ # from test import test_support @@ -36,7 +36,7 @@ class Test_EUC_JP(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'euc_jp' - from sampletexts.euc_jp import teststring as tstring + tstring = test_multibytecodec_support.load_teststring('euc_jp') errortests = ( # invalid bytes ("abc\x80\x80\xc1\xc4", "strict", None), 1.3 +2 -2 cjkcodecs/tests/test_encoding_shift_jis.py Index: test_encoding_shift_jis.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_encoding_shift_jis.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- test_encoding_shift_jis.py 26 May 2003 15:07:49 -0000 1.2 +++ test_encoding_shift_jis.py 27 May 2003 05:17:48 -0000 1.3 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_encoding_shift_jis.py,v 1.2 2003/05/26 15:07:49 perky Exp $ +# $Id: test_encoding_shift_jis.py,v 1.3 2003/05/27 05:17:48 perky Exp $ # from test import test_support @@ -36,7 +36,7 @@ class Test_SJIS(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'shift_jis' - from sampletexts.shift_jis import teststring as tstring + tstring = test_multibytecodec_support.load_teststring('shift_jis') errortests = ( # invalid bytes ("abc\x80\x80\x82\x84", "strict", None), 1.4 +7 -2 cjkcodecs/tests/test_multibytecodec_support.py Index: test_multibytecodec_support.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_multibytecodec_support.py,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- test_multibytecodec_support.py 26 May 2003 15:08:49 -0000 1.3 +++ test_multibytecodec_support.py 27 May 2003 05:17:48 -0000 1.4 @@ -27,10 +27,10 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_multibytecodec_support.py,v 1.3 2003/05/26 15:08:49 perky Exp $ +# $Id: test_multibytecodec_support.py,v 1.4 2003/05/27 05:17:48 perky Exp $ # -import sys, codecs +import sys, codecs, os.path import unittest from StringIO import StringIO @@ -190,5 +190,10 @@ self.assertEqual(unich.encode(self.encoding), csetch) if (csetch, unich) not in self.pass_dectest: self.assertEqual(unicode(csetch, self.encoding), unich) + +def load_teststring(encoding): + etxt = open(os.path.join('sampletexts', encoding) + '.txt').read() + utxt = open(os.path.join('sampletexts', encoding) + '.utf8').read() + return (etxt, utxt) # ex: ts=8 sts=4 et 1.1 cjkcodecs/tests/test_encoding_cp949.py Index: test_encoding_cp949.py =================================================================== #!/usr/bin/env python # # test_encoding_cp949.py: Encoding test for the CP949 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_encoding_cp949.py,v 1.1 2003/05/27 05:17:47 perky Exp $ # from test import test_support import test_multibytecodec_support import unittest class Test_CP949(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'cp949' tstring = test_multibytecodec_support.load_teststring('cp949') errortests = ( # invalid bytes ("abc\x80\x80\xc1\xc4", "strict", None), ("abc\xc8", "strict", None), ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"), ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"), ("abc\x80\x80\xc1\xc4", "ignore", u"abc\uc894"), ) def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(Test_CP949)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et 1.1 cjkcodecs/tests/test_encoding_euc_kr.py Index: test_encoding_euc_kr.py =================================================================== #!/usr/bin/env python # # test_encoding_euc_kr.py: Encoding test for the EUC-KR codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_encoding_euc_kr.py,v 1.1 2003/05/27 05:17:48 perky Exp $ # from test import test_support import test_multibytecodec_support import unittest class Test_EUCKR(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'euc_kr' tstring = test_multibytecodec_support.load_teststring('euc_kr') errortests = ( # invalid bytes ("abc\x80\x80\xc1\xc4", "strict", None), ("abc\xc8", "strict", None), ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"), ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"), ("abc\x80\x80\xc1\xc4", "ignore", u"abc\uc894"), ) def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(Test_EUCKR)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et 1.1 cjkcodecs/tests/test_mapping_cp949.py Index: test_mapping_cp949.py =================================================================== #!/usr/bin/env python # # test_encoding_cp949.py: Encoding test for the CP949 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_mapping_cp949.py,v 1.1 2003/05/27 05:17:48 perky Exp $ # from test import test_support import test_multibytecodec_support import sys, codecs, os import unittest class TestCP949Map(test_multibytecodec_support.TestBase_Mapping, unittest.TestCase): encoding = 'cp949' mapfilename = 'CP949.TXT' def test_main(): if not os.path.exists('CP949.TXT'): raise test_support.TestSkipped( 'CP949.TXT not found, download from http://www.unicode.' 'org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT') suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestCP949Map)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et |