14adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#!/usr/bin/env python 24adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 34adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# test_codecencodings_kr.py 44adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Codec encoding tests for ROK encodings. 54adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 64adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 74adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaofrom test import test_support 84adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaofrom test import test_multibytecodec_support 94adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoimport unittest 104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass Test_CP949(test_multibytecodec_support.TestBase, unittest.TestCase): 124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encoding = 'cp949' 134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao tstring = test_multibytecodec_support.load_teststring('cp949') 144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codectests = ( 154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # invalid bytes 164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "strict", None), 174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\xc8", "strict", None), 184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"), 194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"), 204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "ignore", u"abc\uc894"), 214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ) 224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass Test_EUCKR(test_multibytecodec_support.TestBase, unittest.TestCase): 244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encoding = 'euc_kr' 254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao tstring = test_multibytecodec_support.load_teststring('euc_kr') 264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codectests = ( 274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # invalid bytes 284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "strict", None), 294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\xc8", "strict", None), 304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\uc894"), 314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\uc894\ufffd"), 324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "ignore", u"abc\uc894"), 334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # composed make-up sequence errors 354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4", "strict", None), 364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4", "strict", None), 374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6", "strict", None), 384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4", "strict", None), 394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0", "strict", None), 404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4", "strict", None), 414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4", "strict", u"\uc4d4"), 424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4x", "strict", u"\uc4d4x"), 434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("a\xa4\xd4\xa4\xb6\xa4", "replace", u"a\ufffd"), 444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa3\xb6\xa4\xd0\xa4\xd4", "strict", None), 454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa3\xd0\xa4\xd4", "strict", None), 464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0\xa3\xd4", "strict", None), 474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xff\xa4\xd0\xa4\xd4", "replace", u"\ufffd"), 484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xff\xa4\xd4", "replace", u"\ufffd"), 494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xff", "replace", u"\ufffd"), 504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("\xc1\xc4", "strict", u"\uc894"), 514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ) 524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclass Test_JOHAB(test_multibytecodec_support.TestBase, unittest.TestCase): 544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encoding = 'johab' 554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao tstring = test_multibytecodec_support.load_teststring('johab') 564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao codectests = ( 574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # invalid bytes 584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "strict", None), 594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\xc8", "strict", None), 604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\ucd27"), 614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\ucd27\ufffd"), 624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ("abc\x80\x80\xc1\xc4", "ignore", u"abc\ucd27"), 634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ) 644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaodef test_main(): 664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_support.run_unittest(__name__) 674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoif __name__ == "__main__": 694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_main() 70