def test_lines_parser(buf, stream, loop): out = parsers.FlowControlDataQueue(stream, loop=loop) p = parsers.LinesParser()(out, buf) next(p) for d in (b'line1', b'\r\n', b'lin', b'e2\r', b'\ndata'): p.send(d) assert ([(bytearray(b'line1\r\n'), 7), (bytearray(b'line2\r\n'), 7)] == list(out._buffer)) try: p.throw(parsers.EofStream()) except StopIteration: pass assert bytes(buf) == b'data'
def test_lines_parser(self): out = parsers.FlowControlDataQueue(self.stream, loop=self.loop) buf = self._make_one() p = parsers.LinesParser()(out, buf) next(p) for d in (b'line1', b'\r\n', b'lin', b'e2\r', b'\ndata'): p.send(d) self.assertEqual([bytearray(b'line1\r\n'), bytearray(b'line2\r\n')], list(out._buffer)) try: p.throw(parsers.EofStream()) except StopIteration: pass self.assertEqual(bytes(buf), b'data')
def setUp(self): self.lines_parser = parsers.LinesParser() self.loop = asyncio.new_event_loop() asyncio.set_event_loop(None)
def lines_parser(): return parsers.LinesParser()