]> gitweb.factorcode.org Git - factor.git/blob - basis/cbor/cbor-tests.factor
factor: trim using lists
[factor.git] / basis / cbor / cbor-tests.factor
1 USING: arrays assocs calendar cbor kernel literals math
2 math.parser ranges tools.test urls ;
3
4 {
5     { 0 "00" }
6     { 1 "01" }
7     { 10 "0a" }
8     { 23 "17" }
9     { 24 "1818" }
10     { 25 "1819" }
11     { 100 "1864" }
12     { 1000 "1903e8" }
13     { 1000000 "1a000f4240" }
14     { 1000000000000 "1b000000e8d4a51000" }
15     { 18446744073709551615 "1bffffffffffffffff" }
16     { 18446744073709551616 "c249010000000000000000" }
17     { -18446744073709551616 "3bffffffffffffffff" }
18     { -18446744073709551617 "c349010000000000000000" }
19     { -1 "20" }
20     { -10 "29" }
21     { -100 "3863" }
22     { -1000 "3903e7" }
23     { 0.0 "f90000" }
24     { -0.0 "f98000" }
25     { 1.0 "f93c00" }
26     { 1.1 "fb3ff199999999999a" }
27     { 1.5 "f93e00" }
28     { 65504.0 "f97bff" }
29     { 100000.0 "fa47c35000" }
30     { 3.4028234663852886e+38 "fa7f7fffff" }
31     { 1.0e+300 "fb7e37e43c8800759c" }
32     ! FIXME { 5.960464477539063e-8 "f90001" }
33     { 0.00006103515625 "f90400" }
34     { -4.0 "f9c400" }
35     { -4.1 "fbc010666666666666" }
36     { 1/0. "f97c00" }
37     { NAN: 8000000000000 "f97e00" }
38     { -1/0. "f9fc00" }
39     { 1/0. "fa7f800000" }
40     { NAN: 8000000000000 "fa7fc00000" }
41     { -1/0. "faff800000" }
42     { 1/0. "fb7ff0000000000000" }
43     { NAN: 8000000000000 "fb7ff8000000000000" }
44     { -1/0. "fbfff0000000000000" }
45     { f "f4" }
46     { t "f5" }
47     { +cbor-nil+ "f6" }
48     { +cbor-undefined+ "f7" }
49     { T{ cbor-simple f 16 } "f0" }
50     { T{ cbor-simple f 24 } "f818" }
51     { T{ cbor-simple f 255 } "f8ff" }
52     {
53         T{ timestamp { year 2013 } { month 3 } { day 21 } { hour 20 } { minute 4 } }
54         "c074323031332d30332d32315432303a30343a30305a"
55     }
56     {
57         T{ timestamp { year 2013 } { month 3 } { day 21 } { hour 20 } { minute 4 } }
58         "c11a514b67b0"
59     }
60     {
61         T{ timestamp { year 2013 } { month 3 } { day 21 } { hour 20 } { minute 4 } { second 0.5 } }
62         "c1fb41d452d9ec200000"
63     }
64     { T{ cbor-tagged f 23 B{ 1 2 3 4 } } "d74401020304" }
65     { T{ cbor-tagged f 24 B{ 0x64 0x49 0x45 0x54 0x46 } } "d818456449455446" }
66     { URL" http://www.example.com" "d82076687474703a2f2f7777772e6578616d706c652e636f6d" }
67     { B{ } "40" }
68     { B{ 1 2 3 4 } "4401020304" }
69     { B{ 0xaa 0xbb 0xcc 0xdd 0xee 0xff 0x99 } "5F44aabbccdd43eeff99ff" }
70     { "" "60" }
71     { "a" "6161" }
72     { "IETF" "6449455446" }
73     { "\"\\" "62225c" }
74     { "\u0000fc" "62c3bc" }
75     { "\u006c34" "63e6b0b4" }
76     ! FIXME { "\u00d800\u00dd51" "64f0908591" }
77     { { } "80" }
78     { { 1 2 3 } "83010203" }
79     { { 1 { 2 3 } { 4 5 } } "8301820203820405" }
80     ${ 25 [1..b] >array "98190102030405060708090a0b0c0d0e0f101112131415161718181819" }
81     { { } "a0" }
82     { { { 1 2 } { 3 4 } } "a201020304" }
83     { { { "a" 1 } { "b" { 2 3 } } } "a26161016162820203" }
84     { { "a" { { "b" "c" } } } "826161a161626163" }
85     {
86         { { "a" "A" } { "b" "B" } { "c" "C" } { "d" "D" } { "e" "E" } }
87         "a56161614161626142616361436164614461656145"
88     }
89     { { 1 { 2 3 } { 4 5 } } "9f018202039f0405ffff" }
90     { { 1 { 2 3 } { 4 5 } } "9f01820203820405ff" }
91     { { 1 { 2 3 } { 4 5 } } "83018202039f0405ff" }
92     { { 1 { 2 3 } { 4 5 } } "83019f0203ff820405" }
93     ${ 25 [1..b] >array "9f0102030405060708090a0b0c0d0e0f101112131415161718181819ff" }
94     { { { "a" 1 } { "b" { 2 3 } } } "bf61610161629f0203ffff" }
95     { { "a" { { "b" "c" } } } "826161bf61626163ff" }
96     { { { "Fun" t } { "Amt" -2 } } "bf6346756ef563416d7421ff" }
97 } [| value hex-string |
98
99     hex-string hex-string>bytes :> bytes
100
101     value fp-nan? [
102         { t t } [
103             bytes cbor> [ fp-nan? ] [ fp-nan-payload ] bi
104             value fp-nan-payload =
105         ] unit-test
106     ] [
107         { value } [ bytes cbor> ] unit-test
108     ] if
109
110 ] assoc-each