readline() args must be an int #3521
This commit is contained in:
parent
34596a90c8
commit
b01138a66e
|
@ -460,6 +460,8 @@ class IOBase(metaclass=abc.ABCMeta):
|
||||||
return 1
|
return 1
|
||||||
if limit is None:
|
if limit is None:
|
||||||
limit = -1
|
limit = -1
|
||||||
|
elif not isinstance(limit, int):
|
||||||
|
raise TypeError("limit must be an integer")
|
||||||
res = bytearray()
|
res = bytearray()
|
||||||
while limit < 0 or len(res) < limit:
|
while limit < 0 or len(res) < limit:
|
||||||
b = self.read(nreadahead())
|
b = self.read(nreadahead())
|
||||||
|
@ -1741,6 +1743,8 @@ class TextIOWrapper(TextIOBase):
|
||||||
raise ValueError("read from closed file")
|
raise ValueError("read from closed file")
|
||||||
if limit is None:
|
if limit is None:
|
||||||
limit = -1
|
limit = -1
|
||||||
|
elif not isinstance(limit, int):
|
||||||
|
raise TypeError("limit must be an integer")
|
||||||
|
|
||||||
# Grab all the decoded text (we will rewind any extra bits later).
|
# Grab all the decoded text (we will rewind any extra bits later).
|
||||||
line = self._get_decoded_chars()
|
line = self._get_decoded_chars()
|
||||||
|
|
|
@ -319,7 +319,7 @@ class IOTest(unittest.TestCase):
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def test_readline(self):
|
def test_readline(self):
|
||||||
f = io.open(support.TESTFN, "wb")
|
f = self.open(support.TESTFN, "wb")
|
||||||
f.write(b"abc\ndef\nxyzzy\nfoo\x00bar\nanother line")
|
f.write(b"abc\ndef\nxyzzy\nfoo\x00bar\nanother line")
|
||||||
f.close()
|
f.close()
|
||||||
f = self.open(support.TESTFN, "rb")
|
f = self.open(support.TESTFN, "rb")
|
||||||
|
@ -329,7 +329,10 @@ class IOTest(unittest.TestCase):
|
||||||
self.assertEqual(f.readline(4), b"zzy\n")
|
self.assertEqual(f.readline(4), b"zzy\n")
|
||||||
self.assertEqual(f.readline(), b"foo\x00bar\n")
|
self.assertEqual(f.readline(), b"foo\x00bar\n")
|
||||||
self.assertEqual(f.readline(), b"another line")
|
self.assertEqual(f.readline(), b"another line")
|
||||||
|
self.assertRaises(TypeError, f.readline, 5.3)
|
||||||
f.close()
|
f.close()
|
||||||
|
f = self.open(support.TESTFN, "r")
|
||||||
|
self.assertRaises(TypeError, f.readline, 5.3)
|
||||||
|
|
||||||
def test_raw_bytes_io(self):
|
def test_raw_bytes_io(self):
|
||||||
f = self.BytesIO()
|
f = self.BytesIO()
|
||||||
|
|
Loading…
Reference in New Issue