コード例 #1
0
def test_incremental():
    p = channel.ChunkParser()
    assert list(p.get_chunks(''.encode())) == []
    assert list(p.get_chunks('5'.encode())) == []
    assert list(p.get_chunks('\n'.encode())) == []
    assert list(p.get_chunks('abc'.encode())) == []
    assert list(p.get_chunks('de'.encode())) == ['abcde']
    assert list(p.get_chunks(''.encode())) == []
コード例 #2
0
def test_split_characters():
    p = channel.ChunkParser()
    assert list(p.get_chunks(b'1\n\xe2\x82')) == []
    assert list(p.get_chunks(b'\xac')) == ['€']
コード例 #3
0
def test_unicode():
    p = channel.ChunkParser()
    # smile is actually 2 code units
    assert list(p.get_chunks('3\na😀'.encode())) == ['a😀']
コード例 #4
0
def test_malformed_length():
    p = channel.ChunkParser()
    # TODO: could detect errors like these with some extra work
    assert list(p.get_chunks(
        '11\n0123456789\n5e\n"abc"'.encode())) == ['0123456789\n']
コード例 #5
0
def test_truncated_length():
    p = channel.ChunkParser()
    assert list(p.get_chunks('13'.encode())) == []
コード例 #6
0
def test_truncated_message():
    p = channel.ChunkParser()
    assert list(p.get_chunks('12\n012345678'.encode())) == []
コード例 #7
0
def test_simple():
    p = channel.ChunkParser()
    assert list(p.get_chunks('10\n01234567893\nabc'.encode())) == [
        '0123456789',
        'abc',
    ]
コード例 #8
0
def test_junk_before_length():
    p = channel.ChunkParser()
    assert list(p.get_chunks('junk4\nfail'.encode())) == []