| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 use strict; |  | 
| 2 use Test::More; |  | 
| 3 BEGIN { plan tests => 31 }; |  | 
| 4 |  | 
| 5 BEGIN { $ENV{PERL_JSON_BACKEND} = 1; } |  | 
| 6 |  | 
| 7 local $^W; |  | 
| 8 |  | 
| 9 BEGIN { |  | 
| 10     use lib qw(t); |  | 
| 11     use _unicode_handling; |  | 
| 12 } |  | 
| 13 |  | 
| 14 use utf8; |  | 
| 15 use JSON; |  | 
| 16 |  | 
| 17 SKIP: { |  | 
| 18     skip "can't use JSON::XS.", 31, unless( JSON->backend->is_xs ); |  | 
| 19 |  | 
| 20 eval { JSON->new->encode ([\-1]) }; ok $@ =~ /cannot encode reference/; |  | 
| 21 eval { JSON->new->encode ([\undef]) }; ok $@ =~ /cannot encode reference/; |  | 
| 22 eval { JSON->new->encode ([\2]) }; ok $@ =~ /cannot encode reference/; |  | 
| 23 eval { JSON->new->encode ([\{}]) }; ok $@ =~ /cannot encode reference/; |  | 
| 24 eval { JSON->new->encode ([\[]]) }; ok $@ =~ /cannot encode reference/; |  | 
| 25 eval { JSON->new->encode ([\\1]) }; ok $@ =~ /cannot encode reference/; |  | 
| 26 |  | 
| 27 eval { JSON->new->allow_nonref (1)->decode ('"\u1234\udc00"') }; ok $@ =~ /missi
    ng high /; |  | 
| 28 eval { JSON->new->allow_nonref->decode ('"\ud800"') }; ok $@ =~ /missing low /; |  | 
| 29 eval { JSON->new->allow_nonref (1)->decode ('"\ud800\u1234"') }; ok $@ =~ /surro
    gate pair /; |  | 
| 30 |  | 
| 31 eval { JSON->new->decode ('null') }; ok $@ =~ /allow_nonref/; |  | 
| 32 eval { JSON->new->allow_nonref (1)->decode ('+0') }; ok $@ =~ /malformed/; |  | 
| 33 eval { JSON->new->allow_nonref->decode ('.2') }; ok $@ =~ /malformed/; |  | 
| 34 eval { JSON->new->allow_nonref (1)->decode ('bare') }; ok $@ =~ /malformed/; |  | 
| 35 eval { JSON->new->allow_nonref->decode ('naughty') }; ok $@ =~ /null/; |  | 
| 36 eval { JSON->new->allow_nonref (1)->decode ('01') }; ok $@ =~ /leading zero/; |  | 
| 37 eval { JSON->new->allow_nonref->decode ('00') }; ok $@ =~ /leading zero/; |  | 
| 38 eval { JSON->new->allow_nonref (1)->decode ('-0.') }; ok $@ =~ /decimal point/; |  | 
| 39 eval { JSON->new->allow_nonref->decode ('-0e') }; ok $@ =~ /exp sign/; |  | 
| 40 eval { JSON->new->allow_nonref (1)->decode ('-e+1') }; ok $@ =~ /initial minus/; |  | 
| 41 eval { JSON->new->allow_nonref->decode ("\"\n\"") }; ok $@ =~ /invalid character
    /; |  | 
| 42 eval { JSON->new->allow_nonref (1)->decode ("\"\x01\"") }; ok $@ =~ /invalid cha
    racter/; |  | 
| 43 eval { JSON->new->decode ('[5') }; ok $@ =~ /parsing array/; |  | 
| 44 eval { JSON->new->decode ('{"5"') }; ok $@ =~ /':' expected/; |  | 
| 45 eval { JSON->new->decode ('{"5":null') }; ok $@ =~ /parsing object/; |  | 
| 46 |  | 
| 47 eval { JSON->new->decode (undef) }; ok $@ =~ /malformed/; |  | 
| 48 eval { JSON->new->decode (\5) }; ok !!$@; # Can't coerce readonly |  | 
| 49 eval { JSON->new->decode ([]) }; ok $@ =~ /malformed/; |  | 
| 50 eval { JSON->new->decode (\*STDERR) }; ok $@ =~ /malformed/; |  | 
| 51 eval { JSON->new->decode (*STDERR) }; ok !!$@; # cannot coerce GLOB |  | 
| 52 |  | 
| 53 # differences between JSON::XS and JSON::PP |  | 
| 54 |  | 
| 55 eval { decode_json ("\"\xa0") }; ok $@ =~ /malformed.*character/; |  | 
| 56 eval { decode_json ("\"\xa0\"") }; ok $@ =~ /malformed.*character/; |  | 
| 57 |  | 
| 58 #eval { decode_json ("\"\xa0") }; ok $@ =~ /JSON text must be an object or array
    /; |  | 
| 59 #eval { decode_json ("\"\xa0\"") }; ok $@ =~ /JSON text must be an object or arr
    ay/; |  | 
| 60 |  | 
| 61 } |  | 
| OLD | NEW | 
|---|