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