X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F010_basic_json.t;h=30b3327ee45559428d3803afc660c36e7181aa37;hb=9740e0b7a5f3ba2c10c47abd9d3d66a6ecb8731b;hp=8c475e3ce1d1e2dafae98ab6a05b5ba484ca4452;hpb=ba5bba75ba0c4f8af075e95ce3b00e5376bedf5c;p=gitmo%2FMooseX-Storage.git diff --git a/t/010_basic_json.t b/t/010_basic_json.t index 8c475e3..30b3327 100644 --- a/t/010_basic_json.t +++ b/t/010_basic_json.t @@ -3,10 +3,18 @@ use strict; use warnings; -use Test::More no_plan => 1; -use Test::JSON; +use Test::More; BEGIN { + eval "use Test::JSON"; + plan skip_all => "Test::JSON is required for this test" if $@; + # NOTE: + # this idiocy is cause Test::JSON + # uses JSON.pm and that can be + # very picky about the JSON output + # - SL + BEGIN { $ENV{JSON_ANY_ORDER} = qw(JSON) } + plan tests => 12; use_ok('MooseX::Storage'); } @@ -36,22 +44,23 @@ BEGIN { object => Foo->new( number => 2 ), ); isa_ok( $foo, 'Foo' ); - + my $json = $foo->freeze; - - is_valid_json($json); - + + is_valid_json($json, '.. this is valid JSON'); + is_json( $json, - '{"array":[1,2,3,4,5,6,7,8,9,10],"hash":{"6":null,"3":null,"7":null,"9":null,"2":null,"8":null,"1":null,"4":null,"10":null,"5":null},"float":10.5,"object":{"number":2,"__CLASS__":"Foo"},"number":10,"__CLASS__":"Foo","string":"foo"}', +'{"array":[1,2,3,4,5,6,7,8,9,10],"hash":{"6":null,"3":null,"7":null,"9":null,"2":null,"8":null,"1":null,"4":null,"10":null,"5":null},"float":10.5,"object":{"number":2,"__CLASS__":"Foo"},"number":10,"__CLASS__":"Foo","string":"foo"}', '... got the right JSON' ); } { - my $foo = Foo->thaw( - '{"array":[1,2,3,4,5,6,7,8,9,10],"hash":{"6":null,"3":null,"7":null,"9":null,"2":null,"8":null,"1":null,"4":null,"10":null,"5":null},"float":10.5,"object":{"number":2,"__CLASS__":"Foo"},"number":10,"__CLASS__":"Foo","string":"foo"}' - ); + my $foo = + Foo->thaw( +'{"array":[1,2,3,4,5,6,7,8,9,10],"hash":{"6":null,"3":null,"7":null,"9":null,"2":null,"8":null,"1":null,"4":null,"10":null,"5":null},"float":10.5,"object":{"number":2,"__CLASS__":"Foo"},"number":10,"__CLASS__":"Foo","string":"foo"}' + ); isa_ok( $foo, 'Foo' ); is( $foo->number, 10, '... got the right number' );