--- JSON-XS/t/13_limit.t 2007/03/25 21:19:14 1.1 +++ JSON-XS/t/13_limit.t 2008/04/05 18:15:46 1.6 @@ -1,4 +1,4 @@ -BEGIN { $| = 1; print "1..7\n"; } +BEGIN { $| = 1; print "1..11\n"; } use JSON::XS; @@ -7,10 +7,15 @@ print $_[0] ? "" : "not ", "ok ", ++$test, "\n"; } +my $def = 512; + my $js = JSON::XS->new; -ok (ref $js->decode (("[" x 8192) . ("]" x 8192))); -ok (ref $js->decode (("{\"\":" x 8191) . "[]" . ("}" x 8191))); +ok (!eval { $js->decode (("[" x ($def + 1)) . ("]" x ($def + 1))) }); +ok (ref $js->decode (("[" x $def) . ("]" x $def))); +ok (ref $js->decode (("{\"\":" x ($def - 1)) . "[]" . ("}" x ($def - 1)))); +ok (!eval { $js->decode (("{\"\":" x $def) . "[]" . ("}" x $def)) }); + ok (ref $js->max_depth (32)->decode (("[" x 32) . ("]" x 32))); ok ($js->max_depth(1)->encode ([])); @@ -19,3 +24,6 @@ ok ($js->max_depth(2)->encode ([{}])); ok (!eval { $js->encode ([[{}]]), 1 }); +ok (eval { ref $js->max_size (8)->decode ("[ ]") }); +eval { $js->max_size (8)->decode ("[ ]") }; ok ($@ =~ /max_size/); +