--- JSON-XS/t/02_error.t 2007/04/03 23:34:17 1.5 +++ JSON-XS/t/02_error.t 2018/11/15 20:49:12 1.8 @@ -1,7 +1,8 @@ -BEGIN { $| = 1; print "1..31\n"; } +BEGIN { $| = 1; print "1..35\n"; } use utf8; use JSON::XS; +no warnings; our $test; sub ok($) { @@ -19,7 +20,7 @@ eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; -eval { JSON::XS->new->decode ('null') }; ok $@ =~ /allow_nonref/; +eval { JSON::XS->new->allow_nonref (0)->decode ('null') }; ok $@ =~ /allow_nonref/; eval { JSON::XS->new->allow_nonref (1)->decode ('+0') }; ok $@ =~ /malformed/; eval { JSON::XS->new->allow_nonref->decode ('.2') }; ok $@ =~ /malformed/; eval { JSON::XS->new->allow_nonref (1)->decode ('bare') }; ok $@ =~ /malformed/; @@ -41,6 +42,10 @@ eval { JSON::XS->new->decode (\*STDERR) }; ok $@ =~ /malformed/; eval { JSON::XS->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB -eval { from_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; -eval { from_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; +eval { decode_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; +eval { decode_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; +eval { decode_json ("1\x01") }; ok $@ =~ /garbage after/; +eval { decode_json ("1\x00") }; ok $@ =~ /garbage after/; +eval { decode_json ("\"\"\x00") }; ok $@ =~ /garbage after/; +eval { decode_json ("[]\x00") }; ok $@ =~ /garbage after/;