[pypy-commit] pypy default: Test and fix
arigo
pypy.commits at gmail.com
Mon Apr 29 03:54:54 EDT 2019
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r96549:436c5f4660ab
Date: 2019-04-29 09:54 +0200
http://bitbucket.org/pypy/pypy/changeset/436c5f4660ab/
Log: Test and fix
diff --git a/pypy/module/_codecs/interp_codecs.py b/pypy/module/_codecs/interp_codecs.py
--- a/pypy/module/_codecs/interp_codecs.py
+++ b/pypy/module/_codecs/interp_codecs.py
@@ -570,7 +570,7 @@
if not 0 <= x <= 0x10FFFF:
raise oefmt(space.w_TypeError,
"character mapping must be in range(0x110000)")
- return rutf8.unichr_as_utf8(x)
+ return rutf8.unichr_as_utf8(x, allow_surrogates=True)
elif space.is_w(w_ch, space.w_None):
# Charmap may return None
return errorchar
diff --git a/pypy/module/_codecs/test/test_codecs.py b/pypy/module/_codecs/test/test_codecs.py
--- a/pypy/module/_codecs/test/test_codecs.py
+++ b/pypy/module/_codecs/test/test_codecs.py
@@ -119,6 +119,7 @@
assert (charmap_decode("\x00\x01\x02", "strict",
{0: u'\U0010FFFF', 1: u'b', 2: u'c'}) ==
(u"\U0010FFFFbc", 3))
+ assert charmap_decode('\xff', "strict", {0xff: 0xd800}) == (u'\ud800', 1)
def test_escape_decode(self):
from _codecs import unicode_escape_decode as decode
More information about the pypy-commit
mailing list