changeset: 95687:2d8e4047c270 branch: 3.4 parent: 95663:d0819a8fda1b user: Serhiy Storchaka date: Thu Apr 16 11:54:14 2015 +0300 files: Lib/test/test_fileio.py Lib/test/test_io.py description: Backported tests from issue #20175. diff -r d0819a8fda1b -r 2d8e4047c270 Lib/test/test_fileio.py --- a/Lib/test/test_fileio.py Tue Apr 14 17:57:41 2015 -0400 +++ b/Lib/test/test_fileio.py Thu Apr 16 11:54:14 2015 +0300 @@ -126,9 +126,9 @@ self.assertTrue(f.closed) def testMethods(self): - methods = ['fileno', 'isatty', 'read', 'readinto', - 'seek', 'tell', 'truncate', 'write', 'seekable', - 'readable', 'writable'] + methods = ['fileno', 'isatty', 'seekable', 'readable', 'writable', + 'read', 'readall', 'readline', 'readlines', + 'tell', 'truncate', 'flush'] self.f.close() self.assertTrue(self.f.closed) @@ -138,6 +138,15 @@ # should raise on closed file self.assertRaises(ValueError, method) + self.assertRaises(ValueError, self.f.readinto) # XXX should be TypeError? + self.assertRaises(ValueError, self.f.readinto, bytearray(1)) + self.assertRaises(ValueError, self.f.seek) + self.assertRaises(ValueError, self.f.seek, 0) + self.assertRaises(ValueError, self.f.write) + self.assertRaises(ValueError, self.f.write, b'') + self.assertRaises(TypeError, self.f.writelines) + self.assertRaises(ValueError, self.f.writelines, b'') + def testOpendir(self): # Issue 3703: opening a directory should fill the errno # Windows always returns "[Errno 13]: Permission denied diff -r d0819a8fda1b -r 2d8e4047c270 Lib/test/test_io.py --- a/Lib/test/test_io.py Tue Apr 14 17:57:41 2015 -0400 +++ b/Lib/test/test_io.py Thu Apr 16 11:54:14 2015 +0300 @@ -2087,6 +2087,17 @@ self.assertRaises(TypeError, t.__init__, b, newline=42) self.assertRaises(ValueError, t.__init__, b, newline='xyzzy') + def test_uninitialized(self): + t = self.TextIOWrapper.__new__(self.TextIOWrapper) + del t + t = self.TextIOWrapper.__new__(self.TextIOWrapper) + self.assertRaises(Exception, repr, t) + self.assertRaisesRegex((ValueError, AttributeError), + 'uninitialized|has no attribute', + t.read, 0) + t.__init__(self.MockRawIO()) + self.assertEqual(t.read(0), '') + def test_non_text_encoding_codecs_are_rejected(self): # Ensure the constructor complains if passed a codec that isn't # marked as a text encoding