1 |
root |
1.5 |
BEGIN { $| = 1; print "1..75\n"; } |
2 |
root |
1.1 |
|
3 |
|
|
use utf8; |
4 |
|
|
use JSON::XS; |
5 |
|
|
|
6 |
|
|
our $test; |
7 |
|
|
sub ok($) { |
8 |
|
|
print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; |
9 |
|
|
} |
10 |
|
|
|
11 |
|
|
ok (!defined JSON::XS->new->allow_nonref (1)->decode ('null')); |
12 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('true') == 1); |
13 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('false') == 0); |
14 |
|
|
|
15 |
root |
1.5 |
my $true = JSON::XS->new->allow_nonref (1)->decode ('true'); |
16 |
|
|
ok ($true eq 1); |
17 |
|
|
ok (JSON::XS::is_bool $true); |
18 |
|
|
my $false = JSON::XS->new->allow_nonref (1)->decode ('false'); |
19 |
|
|
ok ($false == !$true); |
20 |
|
|
ok (JSON::XS::is_bool $false); |
21 |
|
|
ok (++$false == 1); |
22 |
|
|
ok (!JSON::XS::is_bool $false); |
23 |
|
|
|
24 |
root |
1.1 |
ok (JSON::XS->new->allow_nonref (1)->decode ('5') == 5); |
25 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('-5') == -5); |
26 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('5e1') == 50); |
27 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('-333e+0') == -333); |
28 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('2.5') == 2.5); |
29 |
|
|
|
30 |
|
|
ok (JSON::XS->new->allow_nonref (1)->decode ('""') eq ""); |
31 |
|
|
ok ('[1,2,3,4]' eq to_json from_json ('[1,2, 3,4]')); |
32 |
|
|
ok ('[{},[],[],{}]' eq to_json from_json ('[{},[], [ ] ,{ }]')); |
33 |
|
|
ok ('[{"1":[5]}]' eq to_json [{1 => [5]}]); |
34 |
|
|
ok ('{"1":2,"3":4}' eq JSON::XS->new->canonical (1)->encode (from_json '{ "1" : 2, "3" : 4 }')); |
35 |
|
|
ok ('{"1":2,"3":1.2}' eq JSON::XS->new->canonical (1)->encode (from_json '{ "1" : 2, "3" : 1.2 }')); |
36 |
root |
1.3 |
|
37 |
root |
1.5 |
ok ('[true]' eq to_json [JSON::XS::true]); |
38 |
root |
1.3 |
ok ('[false]' eq to_json [JSON::XS::false]); |
39 |
root |
1.5 |
ok ('[true]' eq to_json [\1]); |
40 |
root |
1.3 |
ok ('[false]' eq to_json [\0]); |
41 |
root |
1.5 |
ok ('[null]' eq to_json [undef]); |
42 |
|
|
ok ('[true]' eq to_json [JSON::XS::true]); |
43 |
|
|
ok ('[false]' eq to_json [JSON::XS::false]); |
44 |
root |
1.4 |
|
45 |
|
|
for $v (1, 2, 3, 5, -1, -2, -3, -4, 100, 1000, 10000, -999, -88, -7, 7, 88, 999, -1e5, 1e6, 1e7, 1e8) { |
46 |
|
|
ok ($v == ((from_json "[$v]")->[0])); |
47 |
|
|
ok ($v == ((from_json to_json [$v])->[0])); |
48 |
|
|
} |
49 |
|
|
|
50 |
|
|
ok (30123 == ((from_json to_json [30123])->[0])); |
51 |
|
|
ok (32123 == ((from_json to_json [32123])->[0])); |
52 |
|
|
ok (32456 == ((from_json to_json [32456])->[0])); |
53 |
|
|
ok (32789 == ((from_json to_json [32789])->[0])); |
54 |
|
|
ok (32767 == ((from_json to_json [32767])->[0])); |
55 |
|
|
ok (32768 == ((from_json to_json [32768])->[0])); |
56 |
|
|
|