1 USING: hashtables json.writer tools.test json.reader json kernel namespaces ;
4 { "false" } [ f >json ] unit-test
5 { "true" } [ t >json ] unit-test
6 { "null" } [ json-null >json ] unit-test
7 { "0" } [ 0 >json ] unit-test
8 { "102" } [ 102 >json ] unit-test
9 { "-102" } [ -102 >json ] unit-test
10 { "102.0" } [ 102.0 >json ] unit-test
11 { "102.5" } [ 102.5 >json ] unit-test
12 { "0.5" } [ 1/2 >json ] unit-test
13 { "\"hello world\"" } [ "hello world" >json ] unit-test
15 { "[1,\"two\",3.0]" } [ { 1 "two" 3.0 } >json ] unit-test
16 { "{\"US$\":1.0,\"EU€\":1.5}" } [ H{ { "US$" 1.0 } { "EU€" 1.5 } } >json ] unit-test
18 { "\">json\"" } [ \ >json >json ] unit-test
20 { { 0.5 } } [ { 1/2 } >json json> ] unit-test
22 TUPLE: person first-name age ;
24 { "{\"first-name\":\"David\",\"age\":32}" }
27 [ "David" 32 person boa >json ]
31 { "{\"first_name\":\"David\",\"age\":32}" }
34 [ "David" 32 person boa >json ]
38 { "{\"1\":2,\"3\":4}" }
39 [ H{ { "1" 2 } { "3" 4 } } >json ] unit-test
41 { "{\"1\":2,\"3\":4}" }
42 [ H{ { 1 2 } { 3 4 } } >json ] unit-test
45 [ H{ { "" 2 } { "" 4 } } >json ] unit-test
47 { "{\"true\":4,\"false\":2,\"\":5}" }
48 [ H{ { f 2 } { t 4 } { "" 5 } } >json ] unit-test
51 [ H{ { 3.1 3 } } >json ] unit-test
54 [ H{ { json-null 1 } } >json ] unit-test
56 { "{\"Infinity\":1}" }
57 [ t json-allow-fp-special? [ H{ { 1/0. 1 } } >json ] with-variable ] unit-test
59 { "{\"-Infinity\":1}" }
60 [ t json-allow-fp-special? [ H{ { -1/0. 1 } } >json ] with-variable ] unit-test
63 [ t json-allow-fp-special? [ H{ { NAN: 333 1 } } >json ] with-variable ] unit-test
66 "\"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f\""
68 "\0\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\e\x1c\x1d\x1e\x1f"
72 { "\"\\ud834\\udd1e\"" }
73 [ t json-escape-unicode? [ "𝄞" >json ] with-variable ] unit-test
75 { "\"\\ud800\\udc01\"" }
76 [ t json-escape-unicode? [ "𐀁" >json ] with-variable ] unit-test