[pypy-commit] pypy py3.5: fix merge, PyUnicode_FromEncodedObject already tested in test_decode
mattip
pypy.commits at gmail.com
Mon Nov 12 16:46:57 EST 2018
Author: Matti Picus <matti.picus at gmail.com>
Branch: py3.5
Changeset: r95303:861c793cead8
Date: 2018-11-12 13:39 -0800
http://bitbucket.org/pypy/pypy/changeset/861c793cead8/
Log: fix merge, PyUnicode_FromEncodedObject already tested in test_decode
diff --git a/pypy/module/cpyext/test/test_unicodeobject.py b/pypy/module/cpyext/test/test_unicodeobject.py
--- a/pypy/module/cpyext/test/test_unicodeobject.py
+++ b/pypy/module/cpyext/test/test_unicodeobject.py
@@ -684,8 +684,6 @@
with raises_w(space, TypeError):
PyUnicode_FromEncodedObject(
space, space.wrap(u_text), null_charp, None)
- assert space.unicode_w(PyUnicode_FromEncodedObject(
- space, space.wrap(s_text), null_charp, None)) == u_text
rffi.free_charp(b_text)
def test_mbcs(self, space):
diff --git a/pypy/module/cpyext/unicodeobject.py b/pypy/module/cpyext/unicodeobject.py
--- a/pypy/module/cpyext/unicodeobject.py
+++ b/pypy/module/cpyext/unicodeobject.py
@@ -490,11 +490,12 @@
encoding, errors)
def _pyunicode_decode(space, s, encoding, errors):
- if not encoding:
- # This tracks CPython 2.7, in CPython 3.4 'utf-8' is hardcoded instead
- encoding = PyUnicode_GetDefaultEncoding(space)
+ if encoding:
+ w_encoding = space.newtext(rffi.charp2str(encoding))
+ else:
+ # python 3.4 changed to this from defaultencoding
+ w_encoding = space.newtext('utf-8')
w_str = space.newbytes(s)
- w_encoding = space.newtext(rffi.charp2str(encoding))
if errors:
w_errors = space.newtext(rffi.charp2str(errors))
else:
@@ -530,10 +531,10 @@
All other objects, including Unicode objects, cause a TypeError to be
set."""
if space.isinstance_w(w_obj, space.w_unicode):
- raise oefmt(space.w_TypeError, "decoding Unicode is not supported")
+ raise oefmt(space.w_TypeError, "decoding str is not supported")
if space.isinstance_w(w_obj, space.w_bytearray): # Python 2.x specific
raise oefmt(space.w_TypeError, "decoding bytearray is not supported")
- s = space.bufferstr_w(w_obj)
+ s = space.bytes_w(w_obj)
return _pyunicode_decode(space, s, encoding, errors)
More information about the pypy-commit
mailing list