test suite test json parser
import ideal • machine • characters • unicode handler
test case test tokenizer()
parser : make parser()
assert words • size == 2
assert words[0] == "foo"
assert words[1] == "bar"
assert words2 • size == 7
assert words2[1] == "foo"
assert words2[3] == "bar"
assert words2[5] == -68
assert words3 • size == 13
assert words3[1] == "foo"
assert words3[3] == "bar"
assert words3[5] == "baz"
assert words3[7] == 68
assert words3[9] == "x"
assert words3[11] == "\"y\""
assert words4 • size == 1
assert words4[0] == "special: \\ foo"
assert words5 • size == 7
w51 : words5[1]
assert w51 !> boolean
w53 : words5[3]
assert !(w53 !> boolean)
w55 : words5[5]
test case test parser()
parser : make parser()
assert parsed0 == "foo"
assert parsed1 == 68
parsed3 : parser • parse("{ \"foo\" : \"bar\", \"baz\":68 } ") !> readonly dictionary[string, readonly value]
assert parsed3 • size == 2
assert parsed3 • get("foo") == "bar"
assert parsed3 • get("baz") == 68
assert parsed4 • size == 3
assert parsed4[0] == "foo"
assert parsed4[1] == "bar"
assert parsed4[2] == -68
parsed5 : parser • parse("{ \"foo\" : [ \"bar\", true ],\"baz\":-68 } ") !> readonly dictionary[string, readonly value]
assert parsed5 • size == 2
assert the object[0] == "bar"
assert parsed5 • get("baz") == -68