|
Packit |
a557cb |
use strict;
|
|
Packit |
a557cb |
use Test::More;
|
|
Packit |
a557cb |
BEGIN { plan tests => 7 };
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
BEGIN { $ENV{PERL_JSON_BACKEND} ||= 1; }
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
use JSON -support_by_pp;
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
SKIP: {
|
|
Packit |
a557cb |
skip "can't use JSON::XS.", 7, unless( JSON->backend->is_xs );
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
my $json = new JSON;
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->indent_length(2)->encode([1,{foo => 'bar'}, "1", "/"]), qq|[1,{"foo":"bar"},"1","/"]|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->indent->encode([1,{foo => 'bar'}, "1", "/"]), qq|[
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo":"bar"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
"1",
|
|
Packit |
a557cb |
"/"
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->escape_slash(1)->pretty->indent_length(2)->encode([1,{foo => 'bar'}, "1", "/"]), qq|[
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo" : "bar"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
"1",
|
|
Packit |
a557cb |
"\\/"
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->escape_slash(1)->pretty->indent_length(3)->encode([1,{foo => 'bar'}, "1", "/"]), qq|[
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo" : "bar"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
"1",
|
|
Packit |
a557cb |
"\\/"
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->escape_slash(1)->pretty->indent_length(15)->encode([1,{foo => 'bar'}, "1", "/"]), qq|[
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo" : "bar"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
"1",
|
|
Packit |
a557cb |
"\\/"
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->indent_length(0)->encode([1,{foo => 'bar'}, "1", "/"]), qq|[
|
|
Packit |
a557cb |
1,
|
|
Packit |
a557cb |
{
|
|
Packit |
a557cb |
"foo" : "bar"
|
|
Packit |
a557cb |
},
|
|
Packit |
a557cb |
"1",
|
|
Packit |
a557cb |
"\\/"
|
|
Packit |
a557cb |
]
|
|
Packit |
a557cb |
|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is($json->indent(0)->space_before(0)->space_after(0)->escape_slash(0)
|
|
Packit |
a557cb |
->encode([1,{foo => 'bar'}, "1", "/"]), qq|[1,{"foo":"bar"},"1","/"]|);
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
}
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
|