Merged revisions 67934-67935 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r67934 | alexandre.vassalotti | 2008-12-27 02:08:47 -0500 (Sat, 27 Dec 2008) | 4 lines
Fix issue #4730: cPickle corrupts high-unicode strings.
Update outdated copy of PyUnicode_EncodeRawUnicodeEscape.
Add a test case.
........
r67935 | alexandre.vassalotti | 2008-12-27 02:13:01 -0500 (Sat, 27 Dec 2008) | 2 lines
Add Misc/NEWS entry for r67934.
........
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index bf9bca7..bf25245 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -480,14 +480,21 @@
if have_unicode:
def test_unicode(self):
- endcases = [unicode(''), unicode('<\\u>'), unicode('<\\\u1234>'),
- unicode('<\n>'), unicode('<\\>')]
+ endcases = [u'', u'<\\u>', u'<\\\\u1234>', u'<\n>',
+ u'<\\>', u'<\\\\U00012345>']
for proto in protocols:
for u in endcases:
p = self.dumps(u, proto)
u2 = self.loads(p)
self.assertEqual(u2, u)
+ def test_unicode_high_plane(self):
+ t = u'\U00012345'
+ for proto in protocols:
+ p = self.dumps(t, proto)
+ t2 = self.loads(p)
+ self.assertEqual(t2, t)
+
def test_ints(self):
import sys
for proto in protocols: