Author: Carl Friedrich Bolz-Tereick <cfb...@gmx.de> Branch: py3.6 Changeset: r96163:fd6330354b33 Date: 2019-02-25 13:02 +0100 http://bitbucket.org/pypy/pypy/changeset/fd6330354b33/
Log: fix corner case in unicode.title 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,12 +1,11 @@ # -*- encoding: utf-8 -*- import py -import sys try: from hypothesis import given, strategies, settings, example HAS_HYPOTHESIS = True except ImportError: HAS_HYPOTHESIS = False - + from rpython.rlib import rutf8 from pypy.interpreter.error import OperationError @@ -356,6 +355,9 @@ assert (chr(0x345) + u'abc').title() == u'\u0399abc' assert (chr(0x345) + u'ABC').title() == u'\u0399abc' + def test_title_bug(self): + assert (chr(496) + "abc").title() == 'J̌abc' + def test_istitle(self): assert u"".istitle() == False assert u"!".istitle() == False 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 @@ -431,7 +431,7 @@ codes = unicodedb.tolower_full(ch) for c in codes: builder.append_code(c) - previous_is_cased = unicodedb.iscased(codes[-1]) + previous_is_cased = unicodedb.iscased(ch) i += 1 return self.from_utf8builder(builder) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit