mirror of https://github.com/python/cpython
Add tests for the writelines() method of file objects.
Original patch by Felipe Cruz.
This commit is contained in:
parent
ce5a56e985
commit
78e761eafe
|
@ -9,6 +9,7 @@ import unittest
|
||||||
from array import array
|
from array import array
|
||||||
from weakref import proxy
|
from weakref import proxy
|
||||||
from functools import wraps
|
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 TESTFN, check_warnings, run_unittest, make_bad_fd
|
||||||
from test.test_support import py3k_bytes as bytes
|
from test.test_support import py3k_bytes as bytes
|
||||||
|
@ -71,6 +72,26 @@ class AutoFileTests(unittest.TestCase):
|
||||||
n = self.f.readinto(a)
|
n = self.f.readinto(a)
|
||||||
self.assertEqual(array(b'b', [1, 2]), a[:n])
|
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):
|
def test_none_args(self):
|
||||||
self.f.write(b"hi\nbye\nabc")
|
self.f.write(b"hi\nbye\nabc")
|
||||||
self.f.close()
|
self.f.close()
|
||||||
|
|
|
@ -34,6 +34,7 @@ import signal
|
||||||
import errno
|
import errno
|
||||||
from itertools import cycle, count
|
from itertools import cycle, count
|
||||||
from collections import deque
|
from collections import deque
|
||||||
|
from UserList import UserList
|
||||||
from test import test_support as support
|
from test import test_support as support
|
||||||
|
|
||||||
import codecs
|
import codecs
|
||||||
|
@ -1126,6 +1127,28 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
|
||||||
bufio.flush()
|
bufio.flush()
|
||||||
self.assertEqual(b"abc", writer._write_stack[0])
|
self.assertEqual(b"abc", writer._write_stack[0])
|
||||||
|
|
||||||
|
def test_writelines(self):
|
||||||
|
l = [b'ab', b'cd', b'ef']
|
||||||
|
writer = self.MockRawIO()
|
||||||
|
bufio = self.tp(writer, 8)
|
||||||
|
bufio.writelines(l)
|
||||||
|
bufio.flush()
|
||||||
|
self.assertEqual(b''.join(writer._write_stack), b'abcdef')
|
||||||
|
|
||||||
|
def test_writelines_userlist(self):
|
||||||
|
l = UserList([b'ab', b'cd', b'ef'])
|
||||||
|
writer = self.MockRawIO()
|
||||||
|
bufio = self.tp(writer, 8)
|
||||||
|
bufio.writelines(l)
|
||||||
|
bufio.flush()
|
||||||
|
self.assertEqual(b''.join(writer._write_stack), b'abcdef')
|
||||||
|
|
||||||
|
def test_writelines_error(self):
|
||||||
|
writer = self.MockRawIO()
|
||||||
|
bufio = self.tp(writer, 8)
|
||||||
|
self.assertRaises(TypeError, bufio.writelines, [1, 2, 3])
|
||||||
|
self.assertRaises(TypeError, bufio.writelines, None)
|
||||||
|
|
||||||
def test_destructor(self):
|
def test_destructor(self):
|
||||||
writer = self.MockRawIO()
|
writer = self.MockRawIO()
|
||||||
bufio = self.tp(writer, 8)
|
bufio = self.tp(writer, 8)
|
||||||
|
|
Loading…
Reference in New Issue