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.
This commit is contained in:
Benjamin Peterson 2009-12-13 19:19:07 +00:00
parent e304852e21
commit ddd392cbb9
9 changed files with 77 additions and 29 deletions

View file

@ -71,6 +71,15 @@ class AutoFileTests(unittest.TestCase):
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))