Author: Antonio Cuni <anto.c...@gmail.com> Branch: py3k Changeset: r57973:76ac06f4ecdf Date: 2012-10-10 16:08 +0200 http://bitbucket.org/pypy/pypy/changeset/76ac06f4ecdf/
Log: allow unicode spaces in int literals diff --git a/pypy/objspace/std/test/test_unicodeobject.py b/pypy/objspace/std/test/test_unicodeobject.py --- a/pypy/objspace/std/test/test_unicodeobject.py +++ b/pypy/objspace/std/test/test_unicodeobject.py @@ -1,7 +1,20 @@ +# -*- encoding: utf-8 -*- import py import sys from pypy.conftest import gettestobjspace +def test_unicode_to_decimal_w(): + from pypy.objspace.std.unicodeobject import unicode_to_decimal_w + space = gettestobjspace(usemodules=('unicodedata',)) + w_s = space.wrap(u"\N{EM SPACE}-3\N{EN SPACE}") + s2 = unicode_to_decimal_w(space, w_s) + assert s2 == " -3 " + # + w_s = space.wrap(u'\U0001D7CF\U0001D7CE') # 𝟏𝟎 + s2 = unicode_to_decimal_w(space, w_s) + assert s2 == "10" + + class AppTestUnicodeStringStdOnly: def test_compares(self): assert type('a') != type(b'a') diff --git a/pypy/objspace/std/unicodeobject.py b/pypy/objspace/std/unicodeobject.py --- a/pypy/objspace/std/unicodeobject.py +++ b/pypy/objspace/std/unicodeobject.py @@ -99,6 +99,9 @@ for i in xrange(len(unistr)): uchr = ord(unistr[i]) if uchr > 127: + if unicodedb.isspace(uchr): + result[i] = ' ' + continue try: uchr = ord(u'0') + unicodedb.decimal(uchr) except KeyError: _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit