Пример #1
0
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'
Пример #2
0
    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')
Пример #3
0
 def setUp(self):
     self.lines_parser = parsers.LinesParser()
     self.loop = asyncio.new_event_loop()
     asyncio.set_event_loop(None)
Пример #4
0
def lines_parser():
    return parsers.LinesParser()