mirror of
https://github.com/python/cpython.git
synced 2026-01-06 15:32:22 +00:00
Followup of #4874: also fix multibytecodec.c
This commit is contained in:
parent
81fabdb437
commit
44bf631ad9
2 changed files with 13 additions and 3 deletions
|
|
@ -44,7 +44,7 @@ def test_errorcallback_longindex(self):
|
|||
myreplace = lambda exc: ('', sys.maxsize+1)
|
||||
codecs.register_error('test.cjktest', myreplace)
|
||||
self.assertRaises(IndexError, dec,
|
||||
'apple\x92ham\x93spam', 'test.cjktest')
|
||||
b'apple\x92ham\x93spam', 'test.cjktest')
|
||||
|
||||
def test_codingspec(self):
|
||||
try:
|
||||
|
|
@ -61,6 +61,10 @@ def test_init_segfault(self):
|
|||
self.assertRaises(AttributeError,
|
||||
_multibytecodec.MultibyteStreamWriter, None)
|
||||
|
||||
def test_decode_unicode(self):
|
||||
# Trying to decode an unicode string should raise a TypeError
|
||||
for enc in ALL_CJKENCODINGS:
|
||||
self.assertRaises(TypeError, codecs.getdecoder(enc), "")
|
||||
|
||||
class Test_IncrementalEncoder(unittest.TestCase):
|
||||
|
||||
|
|
@ -146,6 +150,12 @@ def test_iso2022(self):
|
|||
self.assertRaises(UnicodeDecodeError, decoder.decode, b'', True)
|
||||
self.assertEqual(decoder.decode(b'B@$'), '\u4e16')
|
||||
|
||||
def test_decode_unicode(self):
|
||||
# Trying to decode an unicode string should raise a TypeError
|
||||
for enc in ALL_CJKENCODINGS:
|
||||
decoder = codecs.getincrementaldecoder(enc)()
|
||||
self.assertRaises(TypeError, decoder.decode, "")
|
||||
|
||||
class Test_StreamReader(unittest.TestCase):
|
||||
def test_bug1728403(self):
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -612,7 +612,7 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
|
|||
const char *data, *errors = NULL;
|
||||
Py_ssize_t datalen, finalsize;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s*|z:decode",
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|z:decode",
|
||||
codeckwarglist, &pdata, &errors))
|
||||
return NULL;
|
||||
data = pdata.buf;
|
||||
|
|
@ -1038,7 +1038,7 @@ mbidecoder_decode(MultibyteIncrementalDecoderObject *self,
|
|||
Py_ssize_t wsize, finalsize = 0, size, origpending;
|
||||
int final = 0;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s*|i:decode",
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|i:decode",
|
||||
incrementalkwarglist, &pdata, &final))
|
||||
return NULL;
|
||||
data = pdata.buf;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue