--- JSON-XS/t/03_types.t 2007/06/06 14:52:49 1.4 +++ JSON-XS/t/03_types.t 2007/06/23 23:49:29 1.5 @@ -1,4 +1,4 @@ -BEGIN { $| = 1; print "1..67\n"; } +BEGIN { $| = 1; print "1..75\n"; } use utf8; use JSON::XS; @@ -12,6 +12,15 @@ ok (JSON::XS->new->allow_nonref (1)->decode ('true') == 1); ok (JSON::XS->new->allow_nonref (1)->decode ('false') == 0); +my $true = JSON::XS->new->allow_nonref (1)->decode ('true'); +ok ($true eq 1); +ok (JSON::XS::is_bool $true); +my $false = JSON::XS->new->allow_nonref (1)->decode ('false'); +ok ($false == !$true); +ok (JSON::XS::is_bool $false); +ok (++$false == 1); +ok (!JSON::XS::is_bool $false); + ok (JSON::XS->new->allow_nonref (1)->decode ('5') == 5); ok (JSON::XS->new->allow_nonref (1)->decode ('-5') == -5); ok (JSON::XS->new->allow_nonref (1)->decode ('5e1') == 50); @@ -25,11 +34,13 @@ ok ('{"1":2,"3":4}' eq JSON::XS->new->canonical (1)->encode (from_json '{ "1" : 2, "3" : 4 }')); ok ('{"1":2,"3":1.2}' eq JSON::XS->new->canonical (1)->encode (from_json '{ "1" : 2, "3" : 1.2 }')); -ok ('[true]' eq to_json [JSON::XS::true]); +ok ('[true]' eq to_json [JSON::XS::true]); ok ('[false]' eq to_json [JSON::XS::false]); -ok ('[true]' eq to_json [\1]); +ok ('[true]' eq to_json [\1]); ok ('[false]' eq to_json [\0]); -ok ('[null]' eq to_json [undef]); +ok ('[null]' eq to_json [undef]); +ok ('[true]' eq to_json [JSON::XS::true]); +ok ('[false]' eq to_json [JSON::XS::false]); for $v (1, 2, 3, 5, -1, -2, -3, -4, 100, 1000, 10000, -999, -88, -7, 7, 88, 999, -1e5, 1e6, 1e7, 1e8) { ok ($v == ((from_json "[$v]")->[0]));