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