ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/13_limit.t
Revision: 1.5
Committed: Sun Jul 1 22:20:00 2007 UTC (17 years ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-2_01, rel-1_51, rel-1_53, rel-2_0, rel-2_1, rel-1_5, rel-1_4, rel-1_43, rel-1_41
Changes since 1.4: +4 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.5 BEGIN { $| = 1; print "1..11\n"; }
2 root 1.1
3     use JSON::XS;
4    
5     our $test;
6     sub ok($;$) {
7     print $_[0] ? "" : "not ", "ok ", ++$test, "\n";
8     }
9    
10 root 1.4 my $def = 512;
11    
12 root 1.1 my $js = JSON::XS->new;
13    
14 root 1.4 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 root 1.1 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 root 1.5 ok (eval { ref $js->max_size (7)->decode ("[ ]") });
28     eval { $js->max_size (7)->decode ("[ ]") }; ok ($@ =~ /max_size/);
29