accept None as the same as having passed no argument in file types #7349
This is for consistency with imitation file objects like StringIO and BytesIO.
This commit also adds a few tests, where they were lacking for concerned
methods.
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index 87bf015..91c5251 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -71,6 +71,15 @@
n = self.f.readinto(a)
self.assertEquals(array(b'b', [1, 2]), a[:n])
+ def test_none_args(self):
+ self.f.write(b"hi\nbye\nabc")
+ self.f.close()
+ self.f = _FileIO(TESTFN, 'r')
+ self.assertEqual(self.f.read(None), b"hi\nbye\nabc")
+ self.f.seek(0)
+ self.assertEqual(self.f.readline(None), b"hi\n")
+ self.assertEqual(self.f.readlines(None), [b"bye\n", b"abc"])
+
def testRepr(self):
self.assertEquals(repr(self.f), "<_io.FileIO name=%r mode='%s'>"
% (self.f.name, self.f.mode))