1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#! perl
# copied over from JSON::PC and modified to use JSON
# copied over from JSON::XS and modified to use JSON
use strict;
use Test::More;
BEGIN { plan tests => 9 };
BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
use JSON;
my ($js,$obj,$json);
my $pc = new JSON;
$obj = {foo => "bar"};
$js = $pc->encode($obj);
is($js,q|{"foo":"bar"}|);
$obj = [10, "hoge", {foo => "bar"}];
$pc->pretty (1);
$js = $pc->encode($obj);
is($js,q|[
10,
"hoge",
{
"foo" : "bar"
}
]|);
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
$pc->pretty(0);
$js = $pc->encode($obj);
is($js,q|{"foo":[{"a":"b"},0,1,2]}|);
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
$pc->pretty(1);
$js = $pc->encode($obj);
is($js,q|{
"foo" : [
{
"a" : "b"
},
0,
1,
2
]
}|);
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
$pc->pretty(0);
$js = $pc->encode($obj);
is($js,q|{"foo":[{"a":"b"},0,1,2]}|);
$obj = {foo => "bar"};
$pc->indent(3); # original -- $pc->indent(1);
is($pc->encode($obj), qq|{\n "foo":"bar"\n}|, "nospace");
$pc->space_after(1);
is($pc->encode($obj), qq|{\n "foo": "bar"\n}|, "after");
$pc->space_before(1);
is($pc->encode($obj), qq|{\n "foo" : "bar"\n}|, "both");
$pc->space_after(0);
is($pc->encode($obj), qq|{\n "foo" :"bar"\n}|, "before");
|