| Revision: | 1.3 |
| Committed: | Mon Jul 2 02:57:11 2007 UTC (19 years, 2 months ago) by root |
| Content type: | application/x-troff |
| Branch: | MAIN |
| CVS Tags: | rel-2_01, rel-2_3, rel-1_51, rel-1_53, rel-4_0, rel-2_222, rel-3_0, rel-4_01, rel-4_03, rel-4_02, rel-2_2, rel-4_04, rel-2_0, rel-2_1, rel-4_0_00, rel-2_34, rel-2_32, rel-2_33, rel-2_31, rel-1_5, rel-1_4, rel-2_2311, rel-3_01, rel-3_02, rel-3_03, rel-3_04, rel-1_43, rel-1_41, 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.2: | +10 -6 lines |
| Log Message: | *** empty log message *** |
| # | User | Rev | Content |
|---|---|---|---|
| 1 | root | 1.3 | BEGIN { $| = 1; print "1..16\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 | my $o1 = bless { a => 3 }, "XX"; | ||
| 11 | my $o2 = bless \(my $dummy = 1), "YY"; | ||
| 12 | |||
| 13 | sub XX::TO_JSON { | ||
| 14 | {__,""} | ||
| 15 | } | ||
| 16 | |||
| 17 | my $js = JSON::XS->new; | ||
| 18 | |||
| 19 | eval { $js->encode ($o1) }; ok ($@ =~ /allow_blessed/); | ||
| 20 | eval { $js->encode ($o2) }; ok ($@ =~ /allow_blessed/); | ||
| 21 | $js->allow_blessed; | ||
| 22 | ok ($js->encode ($o1) eq "null"); | ||
| 23 | ok ($js->encode ($o2) eq "null"); | ||
| 24 | $js->convert_blessed; | ||
| 25 | ok ($js->encode ($o1) eq '{"__":""}'); | ||
| 26 | ok ($js->encode ($o2) eq "null"); | ||
| 27 | |||
| 28 | root | 1.2 | $js->filter_json_object (sub { 5 }); |
| 29 | root | 1.3 | $js->filter_json_single_key_object (a => sub { shift }); |
| 30 | $js->filter_json_single_key_object (b => sub { 7 }); | ||
| 31 | root | 1.2 | |
| 32 | ok ("ARRAY" eq ref $js->decode ("[]")); | ||
| 33 | ok (5 eq join ":", @{ $js->decode ('[{}]') }); | ||
| 34 | root | 1.3 | ok (6 eq join ":", @{ $js->decode ('[{"a":6}]') }); |
| 35 | root | 1.2 | ok (5 eq join ":", @{ $js->decode ('[{"a":4,"b":7}]') }); |
| 36 | |||
| 37 | $js->filter_json_object; | ||
| 38 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); | ||
| 39 | root | 1.3 | ok (3 eq join ":", @{ $js->decode ('[{"a":3}]') }); |
| 40 | root | 1.2 | |
| 41 | $js->filter_json_object (sub { }); | ||
| 42 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); | ||
| 43 | root | 1.3 | ok (9 eq join ":", @{ $js->decode ('[{"a":9}]') }); |
| 44 | root | 1.2 | |
| 45 | root | 1.3 | $js->filter_json_single_key_object ("a"); |
| 46 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); | ||
| 47 | |||
| 48 | $js->filter_json_single_key_object (a => sub { }); | ||
| 49 | root | 1.2 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); |
| 50 |