mirror of
https://github.com/python/cpython.git
synced 2025-08-24 18:55:00 +00:00
Issue #20699: Document that “io” methods accept bytes-like objects
This matches the usage of ZipFile and BufferedWriter. This still requires return values to be bytes() objects. Also document and test that the write() methods should only access their argument before they return.
This commit is contained in:
parent
fc36e66af4
commit
6bb91f3b6e
10 changed files with 128 additions and 67 deletions
|
@ -399,7 +399,16 @@ class MemoryTestMixin:
|
|||
del __main__.PickleTestMemIO
|
||||
|
||||
|
||||
class BytesIOMixin:
|
||||
class PyBytesIOTest(MemoryTestMixin, MemorySeekTestMixin, unittest.TestCase):
|
||||
# Test _pyio.BytesIO; class also inherited for testing C implementation
|
||||
|
||||
UnsupportedOperation = pyio.UnsupportedOperation
|
||||
|
||||
@staticmethod
|
||||
def buftype(s):
|
||||
return s.encode("ascii")
|
||||
ioclass = pyio.BytesIO
|
||||
EOF = b""
|
||||
|
||||
def test_getbuffer(self):
|
||||
memio = self.ioclass(b"1234567890")
|
||||
|
@ -426,18 +435,6 @@ class BytesIOMixin:
|
|||
memio.close()
|
||||
self.assertRaises(ValueError, memio.getbuffer)
|
||||
|
||||
|
||||
class PyBytesIOTest(MemoryTestMixin, MemorySeekTestMixin,
|
||||
BytesIOMixin, unittest.TestCase):
|
||||
|
||||
UnsupportedOperation = pyio.UnsupportedOperation
|
||||
|
||||
@staticmethod
|
||||
def buftype(s):
|
||||
return s.encode("ascii")
|
||||
ioclass = pyio.BytesIO
|
||||
EOF = b""
|
||||
|
||||
def test_read1(self):
|
||||
buf = self.buftype("1234567890")
|
||||
memio = self.ioclass(buf)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue