1 | #! perl |
1 | #! perl |
2 | |
2 | |
3 | use strict; |
3 | use strict; |
4 | no warnings; |
4 | no warnings; |
5 | use Test::More; |
5 | use Test::More; |
6 | BEGIN { plan tests => 689 }; |
6 | BEGIN { plan tests => 693 }; |
7 | |
7 | |
8 | use JSON::XS; |
8 | use JSON::XS; |
9 | |
9 | |
10 | sub splitter { |
10 | sub splitter { |
11 | my ($coder, $text) = @_; |
11 | my ($coder, $text) = @_; |
… | |
… | |
61 | ok (!eval { $coder->incr_parse }, "sparse2"); |
61 | ok (!eval { $coder->incr_parse }, "sparse2"); |
62 | $coder->incr_skip; |
62 | $coder->incr_skip; |
63 | ok ('[5]' eq $coder->encode (scalar $coder->incr_parse), "sparse3"); |
63 | ok ('[5]' eq $coder->encode (scalar $coder->incr_parse), "sparse3"); |
64 | } |
64 | } |
65 | |
65 | |
|
|
66 | { |
|
|
67 | my $coder = JSON::XS->new->max_size (5); |
|
|
68 | ok (!$coder->incr_parse ("[ "), "incsize1"); |
|
|
69 | eval { !$coder->incr_parse ("] ") }; ok ($@ =~ /6 bytes/, "incsize2 $@"); |
|
|
70 | } |
|
|
71 | |
|
|
72 | { |
|
|
73 | my $coder = JSON::XS->new->max_depth (3); |
|
|
74 | ok (!$coder->incr_parse ("[[["), "incdepth1"); |
|
|
75 | eval { !$coder->incr_parse (" [] ") }; ok ($@ =~ /maximum nesting/, "incdepth2 $@"); |
|
|
76 | } |
|
|
77 | |
|
|
78 | |