示例#1
0
def test_end_container_at_depth_zero_fails():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.end_container(b'1')
    with raises(ValueError):
        buf.end_container(b'0')
示例#2
0
def test_reuse_with_scalars():
    buf = BufferTree()
    buf.add_scalar_value(b'1')
    buf.add_scalar_value(b'2')
    buf.add_scalar_value(b'34')
    assert_buffer(buf)  # drain resets the writer buffer
    buf.add_scalar_value(b'5')
    buf.add_scalar_value(b'6')
    buf.add_scalar_value(b'78')
    assert_buffer(buf, b'5678')
示例#3
0
def test_end_container_at_depth_zero_fails():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.end_container(b'1')
    with raises(ValueError):
        buf.end_container(b'0')
示例#4
0
def test_reuse_with_scalars():
    buf = BufferTree()
    buf.add_scalar_value(b'1')
    buf.add_scalar_value(b'2')
    buf.add_scalar_value(b'34')
    assert_buffer(buf)  # drain resets the writer buffer
    buf.add_scalar_value(b'5')
    buf.add_scalar_value(b'6')
    buf.add_scalar_value(b'78')
    assert_buffer(buf, b'5678')
示例#5
0
def test_container_length():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'234')
    assert 3 == buf.current_container_length
    buf.end_container(b'1')
    assert 4 == buf.current_container_length
    assert_buffer(buf)
示例#6
0
def test_drain_with_active_container_fails():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'1')
    with raises(ValueError):
        for partial in buf.drain():
            pass
示例#7
0
def test_container_length():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'234')
    assert 3 ==  buf.current_container_length
    buf.end_container(b'1')
    assert 4 == buf.current_container_length
    assert_buffer(buf)
示例#8
0
def test_drain_with_active_container_fails():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'1')
    with raises(ValueError):
        for partial in buf.drain():
            pass
示例#9
0
def test_reuse_with_containers():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.start_container()
    buf.add_scalar_value(b'4')
    buf.end_container(b'3')
    buf.end_container(b'1')
    assert_buffer(buf)
    buf.start_container()
    buf.add_scalar_value(b'78')
    buf.end_container(b'56')
    assert_buffer(buf, b'5678')
示例#10
0
def test_scalar_after_empty_container():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.start_container()
    buf.end_container(b'3')
    buf.add_scalar_value(b'4')
    buf.end_container(b'1')
    assert_buffer(buf)
示例#11
0
def test_nested_containers_at_same_start():
    buf = BufferTree()
    buf.start_container()
    buf.start_container()
    buf.start_container()
    buf.add_scalar_value(b'4')
    buf.end_container(b'3')
    buf.end_container(b'2')
    buf.end_container(b'1')
    assert_buffer(buf)
示例#12
0
def test_container():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'34')
    buf.end_container(b'12')
    assert_buffer(buf)
示例#13
0
def test_scalars():
    buf = BufferTree()
    buf.add_scalar_value(b'1')
    buf.add_scalar_value(b'2')
    buf.add_scalar_value(b'34')
    assert_buffer(buf)
示例#14
0
def test_scalars():
    buf = BufferTree()
    buf.add_scalar_value(b'1')
    buf.add_scalar_value(b'2')
    buf.add_scalar_value(b'34')
    assert_buffer(buf)
示例#15
0
def test_container():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'34')
    buf.end_container(b'12')
    assert_buffer(buf)
示例#16
0
def test_scalar_after_empty_container():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.start_container()
    buf.end_container(b'3')
    buf.add_scalar_value(b'4')
    buf.end_container(b'1')
    assert_buffer(buf)
示例#17
0
def test_nested_containers_at_same_start():
    buf = BufferTree()
    buf.start_container()
    buf.start_container()
    buf.start_container()
    buf.add_scalar_value(b'4')
    buf.end_container(b'3')
    buf.end_container(b'2')
    buf.end_container(b'1')
    assert_buffer(buf)
示例#18
0
def new_writer():
    out = BytesIO()
    return out, blocking_writer(_raw_binary_writer(BufferTree()), out)
示例#19
0
def test_reuse_with_containers():
    buf = BufferTree()
    buf.start_container()
    buf.add_scalar_value(b'2')
    buf.start_container()
    buf.add_scalar_value(b'4')
    buf.end_container(b'3')
    buf.end_container(b'1')
    assert_buffer(buf)
    buf.start_container()
    buf.add_scalar_value(b'78')
    buf.end_container(b'56')
    assert_buffer(buf, b'5678')