ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/02_error.t
(Generate patch)

Comparing JSON-XS/t/02_error.t (file contents):
Revision 1.2 by root, Fri Mar 23 15:10:55 2007 UTC vs.
Revision 1.5 by root, Tue Apr 3 23:34:17 2007 UTC

1BEGIN { $| = 1; print "1..19\n"; } 1BEGIN { $| = 1; print "1..31\n"; }
2 2
3use utf8; 3use utf8;
4use JSON::XS; 4use JSON::XS;
5 5
6our $test; 6our $test;
7sub ok($) { 7sub ok($) {
8 print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; 8 print $_[0] ? "" : "not ", "ok ", ++$test, "\n";
9} 9}
10
11eval { JSON::XS->new->encode ([\-1]) }; ok $@ =~ /cannot encode reference/;
12eval { JSON::XS->new->encode ([\undef]) }; ok $@ =~ /cannot encode reference/;
13eval { JSON::XS->new->encode ([\2]) }; ok $@ =~ /cannot encode reference/;
14eval { JSON::XS->new->encode ([\{}]) }; ok $@ =~ /cannot encode reference/;
15eval { JSON::XS->new->encode ([\[]]) }; ok $@ =~ /cannot encode reference/;
16eval { JSON::XS->new->encode ([\\1]) }; ok $@ =~ /cannot encode reference/;
10 17
11eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /; 18eval { JSON::XS->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missing high /;
12eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; 19eval { JSON::XS->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /;
13eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /; 20eval { JSON::XS->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surrogate pair /;
14 21
25eval { JSON::XS->new->allow_nonref->decode ("\"\n\"") }; ok $@ =~ /invalid character/; 32eval { JSON::XS->new->allow_nonref->decode ("\"\n\"") }; ok $@ =~ /invalid character/;
26eval { JSON::XS->new->allow_nonref (1)->decode ("\"\x01\"") }; ok $@ =~ /invalid character/; 33eval { JSON::XS->new->allow_nonref (1)->decode ("\"\x01\"") }; ok $@ =~ /invalid character/;
27eval { JSON::XS->new->decode ('[5') }; ok $@ =~ /parsing array/; 34eval { JSON::XS->new->decode ('[5') }; ok $@ =~ /parsing array/;
28eval { JSON::XS->new->decode ('{"5"') }; ok $@ =~ /':' expected/; 35eval { JSON::XS->new->decode ('{"5"') }; ok $@ =~ /':' expected/;
29eval { JSON::XS->new->decode ('{"5":null') }; ok $@ =~ /parsing object/; 36eval { JSON::XS->new->decode ('{"5":null') }; ok $@ =~ /parsing object/;
37
38eval { JSON::XS->new->decode (undef) }; ok $@ =~ /malformed/;
39eval { JSON::XS->new->decode (\5) }; ok !!$@; # Can't coerce readonly
30eval { JSON::XS->new->decode ('{"5":5 5') }; ok $@ =~ /parsing object/; 40eval { JSON::XS->new->decode ([]) }; ok $@ =~ /malformed/;
41eval { JSON::XS->new->decode (\*STDERR) }; ok $@ =~ /malformed/;
42eval { JSON::XS->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB
43
44eval { from_json ("\"\xa0") }; ok $@ =~ /malformed.*character/;
45eval { from_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/;
46

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines