|
Packit |
a557cb |
# copied over from JSON::PC and modified to use JSON
|
|
Packit |
a557cb |
# copied over from JSON::XS and modified to use JSON
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
use strict;
|
|
Packit |
a557cb |
use Test::More;
|
|
Packit |
a557cb |
BEGIN { plan tests => 9 };
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; }
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
use JSON;
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
my ($js,$obj,$json);
|
|
Packit |
a557cb |
my $pc = new JSON;
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = {foo => "bar"};
|
|
Packit |
a557cb |
$js = $pc->encode($obj);
|
|
Packit |
a557cb |
is($js,q|{"foo":"bar"}|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = [10, "hoge", {foo => "bar"}];
|
|
Packit |
a557cb |
$pc->pretty (1);
|
|
Packit |
a557cb |
$js = $pc->encode($obj);
|
|
Packit |
a557cb |
is($js,q|[
|
|
Packit |
a557cb |
10,
|
|
Packit |
a557cb |
"hoge",
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo" : "bar"
|
|
Packit |
a557cb |
}
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
|
|
Packit |
a557cb |
$pc->pretty(0);
|
|
Packit |
a557cb |
$js = $pc->encode($obj);
|
|
Packit |
a557cb |
is($js,q|{"foo":[{"a":"b"},0,1,2]}|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
|
|
Packit |
a557cb |
$pc->pretty(1);
|
|
Packit |
a557cb |
$js = $pc->encode($obj);
|
|
Packit |
a557cb |
is($js,q|{
|
|
Packit |
a557cb |
"foo" : [
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"a" : "b"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
0,
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
2
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
}
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = { foo => [ {a=>"b"}, 0, 1, 2 ] };
|
|
Packit |
a557cb |
$pc->pretty(0);
|
|
Packit |
a557cb |
$js = $pc->encode($obj);
|
|
Packit |
a557cb |
is($js,q|{"foo":[{"a":"b"},0,1,2]}|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
$obj = {foo => "bar"};
|
|
Packit |
a557cb |
$pc->indent(3); # original -- $pc->indent(1);
|
|
Packit |
a557cb |
is($pc->encode($obj), qq|{\n "foo":"bar"\n}\n|, "nospace");
|
|
Packit |
a557cb |
$pc->space_after(1);
|
|
Packit |
a557cb |
is($pc->encode($obj), qq|{\n "foo": "bar"\n}\n|, "after");
|
|
Packit |
a557cb |
$pc->space_before(1);
|
|
Packit |
a557cb |
is($pc->encode($obj), qq|{\n "foo" : "bar"\n}\n|, "both");
|
|
Packit |
a557cb |
$pc->space_after(0);
|
|
Packit |
a557cb |
is($pc->encode($obj), qq|{\n "foo" :"bar"\n}\n|, "before");
|
|
Packit |
a557cb |
|