1 | BEGIN { $| = 1; print "1..19\n"; } |
1 | BEGIN { $| = 1; print "1..25\n"; } |
2 | |
2 | |
3 | use utf8; |
3 | use utf8; |
4 | use JSON::XS; |
4 | use JSON::XS; |
5 | |
5 | |
6 | our $test; |
6 | our $test; |
7 | sub ok($) { |
7 | sub ok($) { |
8 | print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; |
8 | print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; |
9 | } |
9 | } |
|
|
10 | |
|
|
11 | eval { JSON::XS->new->encode ([\-1]) }; ok $@ =~ /cannot encode reference/; |
|
|
12 | eval { JSON::XS->new->encode ([\undef]) }; ok $@ =~ /cannot encode reference/; |
|
|
13 | eval { JSON::XS->new->encode ([\2]) }; ok $@ =~ /cannot encode reference/; |
|
|
14 | eval { JSON::XS->new->encode ([\{}]) }; ok $@ =~ /cannot encode reference/; |
|
|
15 | eval { JSON::XS->new->encode ([\[]]) }; ok $@ =~ /cannot encode reference/; |
|
|
16 | eval { JSON::XS->new->encode ([\\1]) }; ok $@ =~ /cannot encode reference/; |
10 | |
17 | |
11 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /; |
18 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /; |
12 | eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; |
19 | eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; |
13 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; |
20 | eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; |
14 | |
21 | |