17db96d56Sopenharmony_ci# Codec encoding tests for ISO 2022 encodings. 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_cifrom test import multibytecodec_support 47db96d56Sopenharmony_ciimport unittest 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ciCOMMON_CODEC_TESTS = ( 77db96d56Sopenharmony_ci # invalid bytes 87db96d56Sopenharmony_ci (b'ab\xFFcd', 'replace', 'ab\uFFFDcd'), 97db96d56Sopenharmony_ci (b'ab\x1Bdef', 'replace', 'ab\x1Bdef'), 107db96d56Sopenharmony_ci (b'ab\x1B$def', 'replace', 'ab\uFFFD'), 117db96d56Sopenharmony_ci ) 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciclass Test_ISO2022_JP(multibytecodec_support.TestBase, unittest.TestCase): 147db96d56Sopenharmony_ci encoding = 'iso2022_jp' 157db96d56Sopenharmony_ci tstring = multibytecodec_support.load_teststring('iso2022_jp') 167db96d56Sopenharmony_ci codectests = COMMON_CODEC_TESTS + ( 177db96d56Sopenharmony_ci (b'ab\x1BNdef', 'replace', 'ab\x1BNdef'), 187db96d56Sopenharmony_ci ) 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ciclass Test_ISO2022_JP2(multibytecodec_support.TestBase, unittest.TestCase): 217db96d56Sopenharmony_ci encoding = 'iso2022_jp_2' 227db96d56Sopenharmony_ci tstring = multibytecodec_support.load_teststring('iso2022_jp') 237db96d56Sopenharmony_ci codectests = COMMON_CODEC_TESTS + ( 247db96d56Sopenharmony_ci (b'ab\x1BNdef', 'replace', 'abdef'), 257db96d56Sopenharmony_ci ) 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ciclass Test_ISO2022_KR(multibytecodec_support.TestBase, unittest.TestCase): 287db96d56Sopenharmony_ci encoding = 'iso2022_kr' 297db96d56Sopenharmony_ci tstring = multibytecodec_support.load_teststring('iso2022_kr') 307db96d56Sopenharmony_ci codectests = COMMON_CODEC_TESTS + ( 317db96d56Sopenharmony_ci (b'ab\x1BNdef', 'replace', 'ab\x1BNdef'), 327db96d56Sopenharmony_ci ) 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ci # iso2022_kr.txt cannot be used to test "chunk coding": the escape 357db96d56Sopenharmony_ci # sequence is only written on the first line 367db96d56Sopenharmony_ci @unittest.skip('iso2022_kr.txt cannot be used to test "chunk coding"') 377db96d56Sopenharmony_ci def test_chunkcoding(self): 387db96d56Sopenharmony_ci pass 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciif __name__ == "__main__": 417db96d56Sopenharmony_ci unittest.main() 42