]> gitweb.factorcode.org Git - factor.git/blob - basis/json/reader/reader-tests.factor
Refactored json.reader, added a couple more unit tests, no more rationals
[factor.git] / basis / json / reader / reader-tests.factor
1 USING: arrays json.reader kernel multiline strings tools.test ;
2 IN: json.reader.tests
3
4 { f } [ "false" json> ] unit-test
5 { t } [ "true" json> ] unit-test
6 { json-null } [ "null" json> ] unit-test
7 { 0 } [ "0" json> ] unit-test
8 { 102 } [ "102" json> ] unit-test
9 { -102 } [ "-102" json> ] unit-test
10 { 102 } [ "+102" json> ] unit-test
11 { 1000.0 } [ "1.0e3" json> ] unit-test
12 { 1000.0 } [ "10e2" json> ] unit-test
13 { 102.0 } [ "102.0" json> ] unit-test
14 { 102.5 } [ "102.5" json> ] unit-test
15 { 102.5 } [ "102.50" json> ] unit-test
16 { -10250.0 } [ "-102.5e2" json> ] unit-test
17 { -10250.0 } [ "-102.5E+2" json> ] unit-test
18 { 10.25 } [ "1025e-2" json> ] unit-test
19 { 0.125 } [ "0.125" json> ] unit-test
20 { -0.125 } [ "-0.125" json> ] unit-test
21
22 { " fuzzy  pickles " } [ <" " fuzzy  pickles " "> json> ] unit-test
23 { "while 1:\n\tpass" } [ <" "while 1:\n\tpass" "> json> ] unit-test
24 { 8 9 10 12 13 34 47 92 } >string 1array [ <" "\b\t\n\f\r\"\/\\" "> json> ] unit-test
25 { HEX: abcd } >string 1array [ <" "\uaBCd" "> json> ] unit-test
26
27 { { } } [ "[]" json> ] unit-test 
28 { { 1 "two" 3.0 } } [ <" [1, "two", 3.0] "> json> ] unit-test
29 { H{ } } [ "{}" json> ] unit-test
30 { H{ { "US$" 1.0 } { "EU€" 1.5 } } } [ <" { "US$":1.00, "EU\u20AC":1.50 } "> json> ] unit-test
31 { H{
32     { "fib" { 1 1 2 3 5 8 H{ { "etc" "etc" } } } }
33     { "prime" { 2 3 5 7 11 13 } }
34 } } [ <" {
35     "fib": [1, 1,  2,   3,     5,         8,
36         { "etc":"etc" } ],
37     "prime":
38     [ 2,3,     5,7,
39 11,
40 13
41 ]      }
42 "> json> ] unit-test
43
44 { 0 } [ "      0" json> ] unit-test
45 { 0 } [ "0      " json> ] unit-test
46 { 0 } [ "   0   " json> ] unit-test
47