diff -r 04cc9c32f3e3 Lib/unittest/test/testmock/testwith.py --- a/Lib/unittest/test/testmock/testwith.py Thu Jun 12 18:39:42 2014 +0200 +++ b/Lib/unittest/test/testmock/testwith.py Thu Jun 12 15:01:38 2014 -0400 @@ -180,9 +180,11 @@ line1 = h.readline() line2 = h.readline() line3 = h.readline() + line4 = h.readline() self.assertEqual(line1, 'foo\n') self.assertEqual(line2, 'bar\n') self.assertEqual(line3, 'baz\n') + self.assertEqual(line4, '') # Check that we properly emulate a file that doesn't end in a newline mock = mock_open(read_data='foo') @@ -192,6 +194,15 @@ self.assertEqual(result, 'foo') + def test_iter_data(self): + # Check that iteration will return all the lines from the fake file + mock = mock_open(read_data='foo\nbar\nbaz\n') + with patch('%s.open' % __name__, mock, create=True): + h = open('bar') + lines = list(h) + self.assertEqual(lines, ['foo\n', 'bar\n', 'baz\n']) + + def test_readlines_data(self): # Test that emulating a file that ends in a newline character works mock = mock_open(read_data='foo\nbar\nbaz\n')