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