Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r67037:162d46b91e96
Date: 2013-09-21 14:39 +0200
http://bitbucket.org/pypy/pypy/changeset/162d46b91e96/

Log:    Fix to (hopefully) support more cases of 16/32-bit-sized unicode
        chars

diff --git a/rpython/rlib/unicodedata/test/test_ucd.py 
b/rpython/rlib/unicodedata/test/test_ucd.py
--- a/rpython/rlib/unicodedata/test/test_ucd.py
+++ b/rpython/rlib/unicodedata/test/test_ucd.py
@@ -1,6 +1,7 @@
-from rpython.rlib.runicode import code_to_unichr
+from rpython.rlib.runicode import code_to_unichr, MAXUNICODE
 from rpython.rlib.unicodedata import unicodedb_5_2_0
 from rpython.rtyper.test.tool import BaseRtypingTest
+from rpython.translator.c.test.test_genc import compile
 
 
 class TestTranslated(BaseRtypingTest):
@@ -15,8 +16,13 @@
         print hex(res)
         assert res == f(1)
 
-    def test_code_to_unichr(self):
-        def f(c):
-            return code_to_unichr(c) + u''
-        res = self.ll_to_unicode(self.interpret(f, [0x10346]))
-        assert res == u'\U00010346'
+
+def test_code_to_unichr():
+    def f(c):
+        return ord(code_to_unichr(c)[0])
+    f1 = compile(f, [int])
+    got = f1(0x12346)
+    if MAXUNICODE == 65535:
+        assert got == 0xd808    # first char of a pair
+    else:
+        assert got == 0x12346
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to