ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/13_limit.t
Revision: 1.6
Committed: Sat Apr 5 18:15:46 2008 UTC (16 years, 2 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-4_0, rel-2_222, rel-3_0, rel-4_01, rel-4_03, rel-4_02, rel-2_2, rel-2_3, rel-4_0_00, rel-2_34, rel-2_32, rel-2_33, rel-2_31, rel-2_2311, rel-3_01, rel-3_02, rel-3_03, rel-3_04, rel-2_232, rel-2_231, rel-2_29, rel-2_28, rel-2_21, rel-2_2222, rel-2_23, rel-2_22, rel-2_25, rel-2_24, rel-2_27, rel-2_26, HEAD
Changes since 1.5: +2 -2 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 BEGIN { $| = 1; print "1..11\n"; }
2
3 use JSON::XS;
4
5 our $test;
6 sub ok($;$) {
7 print $_[0] ? "" : "not ", "ok ", ++$test, "\n";
8 }
9
10 my $def = 512;
11
12 my $js = JSON::XS->new;
13
14 ok (!eval { $js->decode (("[" x ($def + 1)) . ("]" x ($def + 1))) });
15 ok (ref $js->decode (("[" x $def) . ("]" x $def)));
16 ok (ref $js->decode (("{\"\":" x ($def - 1)) . "[]" . ("}" x ($def - 1))));
17 ok (!eval { $js->decode (("{\"\":" x $def) . "[]" . ("}" x $def)) });
18
19 ok (ref $js->max_depth (32)->decode (("[" x 32) . ("]" x 32)));
20
21 ok ($js->max_depth(1)->encode ([]));
22 ok (!eval { $js->encode ([[]]), 1 });
23
24 ok ($js->max_depth(2)->encode ([{}]));
25 ok (!eval { $js->encode ([[{}]]), 1 });
26
27 ok (eval { ref $js->max_size (8)->decode ("[ ]") });
28 eval { $js->max_size (8)->decode ("[ ]") }; ok ($@ =~ /max_size/);
29