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')
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')
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)
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
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')
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)
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)
def test_container(): buf = BufferTree() buf.start_container() buf.add_scalar_value(b'34') buf.end_container(b'12') assert_buffer(buf)
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)
def new_writer(): out = BytesIO() return out, blocking_writer(_raw_binary_writer(BufferTree()), out)