Backported tests from issue #20175.
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 @@
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 @@
# 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 @@
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)