1 | BEGIN { $| = 1; print "1..31\n"; } |
1 | BEGIN { $| = 1; print "1..35\n"; } |
2 | |
2 | |
3 | use utf8; |
3 | use utf8; |
4 | use JSON::XS; |
4 | use JSON::XS; |
5 | no warnings; |
5 | no warnings; |
6 | |
6 | |
… | |
… | |
18 | |
18 | |
19 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /; |
19 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /; |
20 | eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; |
20 | eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; |
21 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; |
21 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; |
22 | |
22 | |
23 | eval { JSON::XS->new->decode ('null') }; ok $@ =~ /allow_nonref/; |
23 | eval { JSON::XS->new->allow_nonref (0)->decode ('null') }; ok $@ =~ /allow_nonref/; |
24 | eval { JSON::XS->new->allow_nonref (1)->decode ('+0') }; ok $@ =~ /malformed/; |
24 | eval { JSON::XS->new->allow_nonref (1)->decode ('+0') }; ok $@ =~ /malformed/; |
25 | eval { JSON::XS->new->allow_nonref->decode ('.2') }; ok $@ =~ /malformed/; |
25 | eval { JSON::XS->new->allow_nonref->decode ('.2') }; ok $@ =~ /malformed/; |
26 | eval { JSON::XS->new->allow_nonref (1)->decode ('bare') }; ok $@ =~ /malformed/; |
26 | eval { JSON::XS->new->allow_nonref (1)->decode ('bare') }; ok $@ =~ /malformed/; |
27 | eval { JSON::XS->new->allow_nonref->decode ('naughty') }; ok $@ =~ /null/; |
27 | eval { JSON::XS->new->allow_nonref->decode ('naughty') }; ok $@ =~ /null/; |
28 | eval { JSON::XS->new->allow_nonref (1)->decode ('01') }; ok $@ =~ /leading zero/; |
28 | eval { JSON::XS->new->allow_nonref (1)->decode ('01') }; ok $@ =~ /leading zero/; |
… | |
… | |
42 | eval { JSON::XS->new->decode (\*STDERR) }; ok $@ =~ /malformed/; |
42 | eval { JSON::XS->new->decode (\*STDERR) }; ok $@ =~ /malformed/; |
43 | eval { JSON::XS->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB |
43 | eval { JSON::XS->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB |
44 | |
44 | |
45 | eval { decode_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; |
45 | eval { decode_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; |
46 | eval { decode_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; |
46 | eval { decode_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; |
|
|
47 | eval { decode_json ("1\x01") }; ok $@ =~ /garbage after/; |
|
|
48 | eval { decode_json ("1\x00") }; ok $@ =~ /garbage after/; |
|
|
49 | eval { decode_json ("\"\"\x00") }; ok $@ =~ /garbage after/; |
|
|
50 | eval { decode_json ("[]\x00") }; ok $@ =~ /garbage after/; |
47 | |
51 | |