1 | BEGIN { $| = 1; print "1..25\n"; } |
1 | BEGIN { $| = 1; print "1..31\n"; } |
2 | |
2 | |
3 | use utf8; |
3 | use utf8; |
4 | use JSON::XS; |
4 | use JSON::XS; |
|
|
5 | no warnings; |
5 | |
6 | |
6 | our $test; |
7 | our $test; |
7 | sub ok($) { |
8 | sub ok($) { |
8 | print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; |
9 | print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; |
9 | } |
10 | } |
… | |
… | |
32 | eval { JSON::XS->new->allow_nonref->decode ("\"\n\"") }; ok $@ =~ /invalid character/; |
33 | eval { JSON::XS->new->allow_nonref->decode ("\"\n\"") }; ok $@ =~ /invalid character/; |
33 | eval { JSON::XS->new->allow_nonref (1)->decode ("\"\x01\"") }; ok $@ =~ /invalid character/; |
34 | eval { JSON::XS->new->allow_nonref (1)->decode ("\"\x01\"") }; ok $@ =~ /invalid character/; |
34 | eval { JSON::XS->new->decode ('[5') }; ok $@ =~ /parsing array/; |
35 | eval { JSON::XS->new->decode ('[5') }; ok $@ =~ /parsing array/; |
35 | eval { JSON::XS->new->decode ('{"5"') }; ok $@ =~ /':' expected/; |
36 | eval { JSON::XS->new->decode ('{"5"') }; ok $@ =~ /':' expected/; |
36 | eval { JSON::XS->new->decode ('{"5":null') }; ok $@ =~ /parsing object/; |
37 | eval { JSON::XS->new->decode ('{"5":null') }; ok $@ =~ /parsing object/; |
|
|
38 | |
|
|
39 | eval { JSON::XS->new->decode (undef) }; ok $@ =~ /malformed/; |
|
|
40 | eval { JSON::XS->new->decode (\5) }; ok !!$@; # Can't coerce readonly |
37 | eval { JSON::XS->new->decode ('{"5":5 5') }; ok $@ =~ /parsing object/; |
41 | eval { JSON::XS->new->decode ([]) }; ok $@ =~ /malformed/; |
|
|
42 | eval { JSON::XS->new->decode (\*STDERR) }; ok $@ =~ /malformed/; |
|
|
43 | eval { JSON::XS->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB |
|
|
44 | |
|
|
45 | eval { decode_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; |
|
|
46 | eval { decode_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; |
|
|
47 | |