ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/03_types.t
(Generate patch)

Comparing JSON-XS/t/03_types.t (file contents):
Revision 1.4 by root, Wed Jun 6 14:52:49 2007 UTC vs.
Revision 1.5 by root, Sat Jun 23 23:49:29 2007 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines