v/vlib/x/json2/decoder2/decode_test.v

43 lines
799 B
V

module decoder2
fn test_nodes() {
mut nodes := []Node{}
mut decoder := Decoder{
json: '{"val": "2"}'
}
decoder.fulfill_nodes(mut nodes)
assert nodes.len == 1
assert nodes[0].key_pos == 2
assert nodes[0].key_len == 3
assert nodes[0].children == none
nodes = []
decoder = Decoder{
json: '{"val": 0, "val1": 1}'
}
decoder.fulfill_nodes(mut nodes)
assert nodes.len == 2
assert nodes[0].key_pos == 2
assert nodes[0].key_len == 3
assert nodes[1].key_pos == 12
assert nodes[1].key_len == 4
nodes = []
decoder = Decoder{
json: '{"val": {"val": 2}}'
}
decoder.fulfill_nodes(mut nodes)
assert nodes.len == 1
assert nodes[0].children != none
assert nodes[0].children?.len == 1
assert nodes[0].children?[0].key_pos == 10
assert nodes[0].children?[0].children == none
}