]> granicus.if.org Git - python/commitdiff
Also add tests for TextIOWrapper.writelines() (issue #15744).
authorAntoine Pitrou <solipsis@pitrou.net>
Tue, 16 Oct 2012 21:02:27 +0000 (23:02 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Tue, 16 Oct 2012 21:02:27 +0000 (23:02 +0200)
Lib/test/test_io.py

index a5d87b9d1c5e86a16449ae9b10724e2bd15d4b34..d10f52a5528b2fb779a4af32eb9fe329b03e8d60 100644 (file)
@@ -2233,6 +2233,28 @@ class TextIOWrapperTest(unittest.TestCase):
             reads += c
         self.assertEqual(reads, "A"*127+"\nB")
 
+    def test_writelines(self):
+        l = ['ab', 'cd', 'ef']
+        buf = self.BytesIO()
+        txt = self.TextIOWrapper(buf)
+        txt.writelines(l)
+        txt.flush()
+        self.assertEqual(buf.getvalue(), b'abcdef')
+
+    def test_writelines_userlist(self):
+        l = UserList(['ab', 'cd', 'ef'])
+        buf = self.BytesIO()
+        txt = self.TextIOWrapper(buf)
+        txt.writelines(l)
+        txt.flush()
+        self.assertEqual(buf.getvalue(), b'abcdef')
+
+    def test_writelines_error(self):
+        txt = self.TextIOWrapper(self.BytesIO())
+        self.assertRaises(TypeError, txt.writelines, [1, 2, 3])
+        self.assertRaises(TypeError, txt.writelines, None)
+        self.assertRaises(TypeError, txt.writelines, b'abc')
+
     def test_issue1395_1(self):
         txt = self.TextIOWrapper(self.BytesIO(self.testdata), encoding="ascii")