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:
Alexandre Vassalotti 2008-05-06 23:47:23 +00:00
parent 8dc226fccd
commit 4833b3c37f
2 changed files with 3 additions and 1 deletions

View File

@ -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

View File

@ -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, '')