diff --git a/Lib/test/multibytecodec_support.py b/Lib/test/multibytecodec_support.py index 5f08f106060..26bac7be108 100644 --- a/Lib/test/multibytecodec_support.py +++ b/Lib/test/multibytecodec_support.py @@ -108,6 +108,13 @@ class TestBase: self.assertEqual(self.encode(sin, "test.xmlcharnamereplace")[0], sout) + def test_callback_returns_bytes(self): + def myreplace(exc): + return (b"1234", exc.end) + codecs.register_error("test.cjktest", myreplace) + enc = self.encode("abc" + self.unmappedunicode + "def", "test.cjktest")[0] + self.assertEqual(enc, b"abc1234def") + def test_callback_wrong_objects(self): def myreplace(exc): return (ret, exc.end) diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py index 7b47cb50e82..feb7bd595a2 100644 --- a/Lib/test/test_multibytecodec.py +++ b/Lib/test/test_multibytecodec.py @@ -45,10 +45,6 @@ class Test_MultibyteCodec(unittest.TestCase): self.assertRaises(IndexError, dec, b'apple\x92ham\x93spam', 'test.cjktest') - def test_errorhandler_returns_bytes(self): - enc = "\u30fb\udc80".encode('gb18030', 'surrogateescape') - self.assertEqual(enc, b'\x819\xa79\x80') - def test_codingspec(self): try: for enc in ALL_CJKENCODINGS: