Fixed a small bug introduced by r62778.
One of the codepaths of _BytesIO.read() returned a bytearray object, by mistake, when it should always return a bytes object. Interestingly, the fact this bug shown up probably means that some platforms are not using the new C-accelerated io.BytesIO.
This commit is contained in:
parent
8dc226fccd
commit
4833b3c37f
|
@ -794,7 +794,7 @@ class _BytesIO(BufferedIOBase):
|
|||
if n < 0:
|
||||
n = len(self._buffer)
|
||||
if len(self._buffer) <= self._pos:
|
||||
return self._buffer[:0]
|
||||
return bytes(self._buffer[:0])
|
||||
newpos = min(len(self._buffer), self._pos + n)
|
||||
b = self._buffer[self._pos : newpos]
|
||||
self._pos = newpos
|
||||
|
|
|
@ -114,6 +114,8 @@ class MemoryTestMixin:
|
|||
self.assertEqual(memio.read(-1), buf)
|
||||
memio.seek(0)
|
||||
self.assertEqual(type(memio.read()), type(buf))
|
||||
memio.seek(100)
|
||||
self.assertEqual(type(memio.read()), type(buf))
|
||||
memio.seek(0)
|
||||
self.assertEqual(memio.read(None), buf)
|
||||
self.assertRaises(TypeError, memio.read, '')
|
||||
|
|
Loading…
Reference in New Issue