def test7_1(self): """test FileWrapper's peek method (peek data and complete read)""" fname = self.fixture_file('filewrapper1.txt') with open(fname, 'r') as fobj: f = FileWrapper(fobj=fobj, use_mmap=False) self.assertFalse(isinstance(f._fobj, mmap.mmap)) self.assertEqual(f.peek(5), 'This ') self.assertEqual(f.tell(), 0) # read 3 bytes (arbitrarily chosen) self.assertEqual(f.read(3), 'Thi') self.assertEqual(f.tell(), 3) # read rest of file (2 bytes of peek data are still available) self.assertEqual(f.read(), 's is a simple\ntext file.\n')
def test7(self): """test FileWrapper's peek method""" fname = self.fixture_file('filewrapper1.txt') with open(fname, 'r') as fobj: f = FileWrapper(fobj=fobj, use_mmap=False) self.assertFalse(isinstance(f._fobj, mmap.mmap)) self.assertEqual(f.peek(3), 'Thi') self.assertEqual(f.tell(), 0) # seeking is not allowed unless all peek'ed bytes are read self.assertRaises(IOError, f.seek, 8, os.SEEK_SET) self.assertEqual(f.read(2), 'Th') self.assertEqual(f.tell(), 2) # seek is still not possible (1 peek byte left) self.assertRaises(IOError, f.seek, 8, os.SEEK_SET) self.assertEqual(f.read(2), 'is') self.assertEqual(f.tell(), 4) # seek is possible f.seek(8, os.SEEK_SET) self.assertEqual(f.read(), 'a simple\ntext file.\n')