1 | BEGIN { $| = 1; print "1..6\n"; } |
1 | BEGIN { $| = 1; print "1..16\n"; } |
2 | |
2 | |
3 | use JSON::XS; |
3 | use JSON::XS; |
4 | |
4 | |
5 | our $test; |
5 | our $test; |
6 | sub ok($;$) { |
6 | sub ok($;$) { |
… | |
… | |
23 | ok ($js->encode ($o2) eq "null"); |
23 | ok ($js->encode ($o2) eq "null"); |
24 | $js->convert_blessed; |
24 | $js->convert_blessed; |
25 | ok ($js->encode ($o1) eq '{"__":""}'); |
25 | ok ($js->encode ($o1) eq '{"__":""}'); |
26 | ok ($js->encode ($o2) eq "null"); |
26 | ok ($js->encode ($o2) eq "null"); |
27 | |
27 | |
|
|
28 | $js->filter_json_object (sub { 5 }); |
|
|
29 | $js->filter_json_single_key_object (a => sub { shift }); |
|
|
30 | $js->filter_json_single_key_object (b => sub { 7 }); |
|
|
31 | |
|
|
32 | ok ("ARRAY" eq ref $js->decode ("[]")); |
|
|
33 | ok (5 eq join ":", @{ $js->decode ('[{}]') }); |
|
|
34 | ok (6 eq join ":", @{ $js->decode ('[{"a":6}]') }); |
|
|
35 | 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 | ok (3 eq join ":", @{ $js->decode ('[{"a":3}]') }); |
|
|
40 | |
|
|
41 | $js->filter_json_object (sub { }); |
|
|
42 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); |
|
|
43 | ok (9 eq join ":", @{ $js->decode ('[{"a":9}]') }); |
|
|
44 | |
|
|
45 | $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 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); |
|
|
50 | |