Merged revisions 80382 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r80382 | victor.stinner | 2010-04-22 21:38:16 +0200 (jeu., 22 avril 2010) | 3 lines
Issue #8092: Fix PyUnicode_EncodeUTF8() to support error handler producing
unicode string (eg. backslashreplace)
........
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 2c646ba..227e375 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -571,6 +571,16 @@
def test_lone_surrogates(self):
self.assertRaises(UnicodeEncodeError, "\ud800".encode, "utf-8")
self.assertRaises(UnicodeDecodeError, b"\xed\xa0\x80".decode, "utf-8")
+ self.assertEqual("[\uDC80]".encode("utf-8", "backslashreplace"),
+ b'[\\udc80]')
+ self.assertEqual("[\uDC80]".encode("utf-8", "xmlcharrefreplace"),
+ b'[�]')
+ self.assertEqual("[\uDC80]".encode("utf-8", "surrogateescape"),
+ b'[\x80]')
+ self.assertEqual("[\uDC80]".encode("utf-8", "ignore"),
+ b'[]')
+ self.assertEqual("[\uDC80]".encode("utf-8", "replace"),
+ b'[?]')
def test_surrogatepass_handler(self):
self.assertEquals("abc\ud800def".encode("utf-8", "surrogatepass"),