[pypy-commit] pypy default: Test and fix
arigo
pypy.commits at gmail.com
Mon Apr 29 04:29:06 EDT 2019
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r96554:05fb831f48eb
Date: 2019-04-29 10:26 +0200
http://bitbucket.org/pypy/pypy/changeset/05fb831f48eb/
Log: Test and fix
diff --git a/pypy/objspace/std/formatting.py b/pypy/objspace/std/formatting.py
--- a/pypy/objspace/std/formatting.py
+++ b/pypy/objspace/std/formatting.py
@@ -332,7 +332,8 @@
space = self.space
if do_unicode:
cp = rutf8.codepoint_at_pos(self.fmt, self.fmtpos - 1)
- w_s = space.newutf8(rutf8.unichr_as_utf8(r_uint(cp)), 1)
+ w_s = space.newutf8(rutf8.unichr_as_utf8(r_uint(cp),
+ allow_surrogates=True), 1)
else:
cp = ord(self.fmt[self.fmtpos - 1])
w_s = space.newbytes(chr(cp))
diff --git a/pypy/objspace/std/test/test_stringformat.py b/pypy/objspace/std/test/test_stringformat.py
--- a/pypy/objspace/std/test/test_stringformat.py
+++ b/pypy/objspace/std/test/test_stringformat.py
@@ -218,6 +218,7 @@
def test_format_wrong_char(self):
raises(ValueError, 'a%Zb'.__mod__, ((23,),))
+ raises(ValueError, u'a%\ud800b'.__mod__, ((23,),))
def test_incomplete_format(self):
raises(ValueError, '%'.__mod__, ((23,),))
More information about the pypy-commit
mailing list