1 | BEGIN { $| = 1; print "1..15\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($;$) { |
… | |
… | |
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 }); |
28 | $js->filter_json_object (sub { 5 }); |
|
|
29 | $js->filter_json_single_key_object (a => sub { shift }); |
29 | $js->filter_json_single_key_object (sub { 6 }); |
30 | $js->filter_json_single_key_object (b => sub { 7 }); |
30 | |
31 | |
31 | ok ("ARRAY" eq ref $js->decode ("[]")); |
32 | ok ("ARRAY" eq ref $js->decode ("[]")); |
32 | ok (5 eq join ":", @{ $js->decode ('[{}]') }); |
33 | ok (5 eq join ":", @{ $js->decode ('[{}]') }); |
33 | ok (6 eq join ":", @{ $js->decode ('[{"a":4}]') }); |
34 | ok (6 eq join ":", @{ $js->decode ('[{"a":6}]') }); |
34 | ok (5 eq join ":", @{ $js->decode ('[{"a":4,"b":7}]') }); |
35 | ok (5 eq join ":", @{ $js->decode ('[{"a":4,"b":7}]') }); |
35 | |
36 | |
36 | $js->filter_json_object; |
37 | $js->filter_json_object; |
37 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); |
38 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); |
38 | ok (6 eq join ":", @{ $js->decode ('[{"a":4}]') }); |
39 | ok (3 eq join ":", @{ $js->decode ('[{"a":3}]') }); |
39 | |
40 | |
40 | $js->filter_json_object (sub { }); |
41 | $js->filter_json_object (sub { }); |
41 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); |
42 | ok (7 == $js->decode ('[{"a":4,"b":7}]')->[0]{b}); |
42 | ok (6 eq join ":", @{ $js->decode ('[{"a":4}]') }); |
43 | ok (9 eq join ":", @{ $js->decode ('[{"a":9}]') }); |
43 | |
44 | |
44 | $js->filter_json_single_key_object (sub { }); |
45 | $js->filter_json_single_key_object ("a"); |
45 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); |
46 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); |
46 | |
47 | |
|
|
48 | $js->filter_json_single_key_object (a => sub { }); |
|
|
49 | ok (4 == $js->decode ('[{"a":4}]')->[0]{a}); |
|
|
50 | |