From abb7e6504291506fee695ad56a642d0dea6370e4 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 16 Apr 2015 11:56:35 +0300 Subject: Backported tests from issue #20175. --- Lib/test/test_fileio.py | 15 ++++++++++++--- Lib/test/test_io.py | 11 +++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py index b45d79b..e21e47f 100644 --- a/Lib/test/test_fileio.py +++ b/Lib/test/test_fileio.py @@ -125,9 +125,9 @@ class AutoFileTests(unittest.TestCase): 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'] if sys.platform.startswith('atheos'): methods.remove('truncate') @@ -139,6 +139,15 @@ class AutoFileTests(unittest.TestCase): # 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 --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 2914a80..bbc804b 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -1990,6 +1990,17 @@ class TextIOWrapperTest(unittest.TestCase): 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.assertRaisesRegexp((ValueError, AttributeError), + 'uninitialized|has no attribute', + t.read, 0) + t.__init__(self.MockRawIO()) + self.assertEqual(t.read(0), u'') + def test_detach(self): r = self.BytesIO() b = self.BufferedWriter(r) -- cgit v0.12