Add tests for the writelines() method of file objects.
Original patch by Felipe Cruz.
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index c6863d6..71ec44c 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -9,6 +9,7 @@
from array import array
from weakref import proxy
from functools import wraps
+from UserList import UserList
from test.test_support import TESTFN, check_warnings, run_unittest, make_bad_fd
from test.test_support import py3k_bytes as bytes
@@ -71,6 +72,26 @@
n = self.f.readinto(a)
self.assertEqual(array(b'b', [1, 2]), a[:n])
+ def testWritelinesList(self):
+ l = [b'123', b'456']
+ self.f.writelines(l)
+ self.f.close()
+ self.f = _FileIO(TESTFN, 'rb')
+ buf = self.f.read()
+ self.assertEqual(buf, b'123456')
+
+ def testWritelinesUserList(self):
+ l = UserList([b'123', b'456'])
+ self.f.writelines(l)
+ self.f.close()
+ self.f = _FileIO(TESTFN, 'rb')
+ buf = self.f.read()
+ self.assertEqual(buf, b'123456')
+
+ def testWritelinesError(self):
+ self.assertRaises(TypeError, self.f.writelines, [1, 2, 3])
+ self.assertRaises(TypeError, self.f.writelines, None)
+
def test_none_args(self):
self.f.write(b"hi\nbye\nabc")
self.f.close()