Commit 9ab7dd4d authored by Walter Dörwald's avatar Walter Dörwald

Add a test case that checks that the proper exception is raises

when the replacement from an encoding error callback is itself
unencodable.
parent 5ccaf8f1
......@@ -474,6 +474,21 @@ class CodecCallbackTest(unittest.TestCase):
codecs.lookup_error("backslashreplace")
)
def test_unencodablereplacement(self):
def unencrepl(exc):
if isinstance(exc, UnicodeEncodeError):
return (u"\u4242", exc.end)
else:
raise TypeError("don't know how to handle %r" % exc)
codecs.register_error("test.unencreplhandler", unencrepl)
for enc in ("ascii", "iso-8859-1", "iso-8859-15"):
self.assertRaises(
UnicodeEncodeError,
u"\u4242".encode,
enc,
"test.unencreplhandler"
)
def test_main():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(CodecCallbackTest))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment