Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit