コード例 #1
0
 def test_readline_and_read(self):
     """Test exercising one byte reads, readline, and then read again."""
     transport = self.get_transport()
     transport.put_bytes('sample', '0\n2\n4\n')
     f = pack.ReadVFile(transport.readv('sample', [(0, 6)]))
     results = []
     results.append(f.read(1))
     results.append(f.readline())
     results.append(f.read(4))
     self.assertEqual(['0', '\n', '2\n4\n'], results)
コード例 #2
0
    def test_readline(self):
        """Test using readline() as ContainerReader does.

        This is always within a readv hunk, never across it.
        """
        transport = self.get_transport()
        transport.put_bytes('sample', '0\n2\n4\n')
        f = pack.ReadVFile(transport.readv('sample', [(0, 2), (2, 4)]))
        results = []
        results.append(f.readline())
        results.append(f.readline())
        results.append(f.readline())
        self.assertEqual(['0\n', '2\n', '4\n'], results)
コード例 #3
0
 def test_read_bytes(self):
     """Test reading of both single bytes and all bytes in a hunk."""
     transport = self.get_transport()
     transport.put_bytes('sample', '0123456789')
     f = pack.ReadVFile(
         transport.readv('sample', [(0, 1), (1, 2), (4, 1), (6, 2)]))
     results = []
     results.append(f.read(1))
     results.append(f.read(2))
     results.append(f.read(1))
     results.append(f.read(1))
     results.append(f.read(1))
     self.assertEqual(['0', '12', '4', '6', '7'], results)