X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F060_basic_deferred.t;h=a93c890d173a2440aedb7b7565b7b6b8184c299a;hb=f16b57403e78d22ab73a98b8714d2dae8e1ca207;hp=b60b9bcdb29df3fe67705a03d93dbc648668b1a1;hpb=766ab81f59db9f3087e0011112ff2e69133a85c5;p=gitmo%2FMooseX-Storage.git diff --git a/t/060_basic_deferred.t b/t/060_basic_deferred.t index b60b9bc..a93c890 100644 --- a/t/060_basic_deferred.t +++ b/t/060_basic_deferred.t @@ -8,11 +8,13 @@ use Test::More; use Storable; BEGIN { - eval "use Test::JSON; use Test::YAML::Valid;"; - plan skip_all => "Test::JSON and Test::YAML::Valid are required for this test" if $@; + eval "use Test::JSON"; + plan skip_all => "Test::JSON is required for this test" if $@; eval "use JSON::Any"; plan skip_all => "JSON::Any is required for this test" if $@; - plan tests => 33; + eval "use YAML::Any"; + plan skip_all => "YAML::Any is required for this test" if $@; + plan tests => 31; use_ok('MooseX::Storage'); } @@ -57,7 +59,7 @@ BEGIN { { 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"}', - { 'format' => 'JSON' } + { 'format' => 'JSON' } ); isa_ok( $foo, 'Foo' ); @@ -86,7 +88,7 @@ BEGIN { object => Foo->new( number => 2 ), ); isa_ok( $foo, 'Foo' ); - + my $stored = $foo->freeze({ 'format' => 'Storable' }); my $struct = Storable::thaw($stored); @@ -96,9 +98,9 @@ BEGIN { '__CLASS__' => 'Foo', 'float' => 10.5, 'number' => 10, - 'string' => 'foo', + 'string' => 'foo', 'array' => [ 1 .. 10], - 'hash' => { map { $_ => undef } 1 .. 10 }, + 'hash' => { map { $_ => undef } 1 .. 10 }, 'object' => { '__CLASS__' => 'Foo', 'number' => 2 @@ -113,15 +115,15 @@ BEGIN { '__CLASS__' => 'Foo', 'float' => 10.5, 'number' => 10, - 'string' => 'foo', + 'string' => 'foo', 'array' => [ 1 .. 10], - 'hash' => { map { $_ => undef } 1 .. 10 }, + 'hash' => { map { $_ => undef } 1 .. 10 }, 'object' => { '__CLASS__' => 'Foo', 'number' => 2 }, }); - + my $foo = Foo->thaw($stored, { 'format' => 'Storable' }); isa_ok( $foo, 'Foo' ); @@ -153,94 +155,21 @@ BEGIN { my $yaml = $foo->freeze({ 'format' => 'YAML' }); - yaml_string_ok( $yaml, '... we got valid YAML out of it' ); - - is( - $yaml, - q{--- -__CLASS__: Foo -array: - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 -float: 10.5 -hash: - 1: ~ - 10: ~ - 2: ~ - 3: ~ - 4: ~ - 5: ~ - 6: ~ - 7: ~ - 8: ~ - 9: ~ -number: 10 -object: - __CLASS__: Foo - number: 2 -string: foo -}, - '... got the same YAML' - ); - -} + my $bar = Foo->thaw( $yaml, { 'format' => 'YAML' } ); + isa_ok( $bar, 'Foo' ); -{ - my $foo = Foo->thaw( - q{--- -__CLASS__: Foo -array: - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 -float: 10.5 -hash: - 1: ~ - 10: ~ - 2: ~ - 3: ~ - 4: ~ - 5: ~ - 6: ~ - 7: ~ - 8: ~ - 9: ~ -number: 10 -object: - __CLASS__: Foo - number: 2 -string: foo -}, { 'format' => 'YAML' } - ); - isa_ok( $foo, 'Foo' ); - - is( $foo->number, 10, '... got the right number' ); - is( $foo->string, 'foo', '... got the right string' ); - is( $foo->float, 10.5, '... got the right float' ); - is_deeply( $foo->array, [ 1 .. 10 ], '... got the right array' ); + is( $bar->number, 10, '... got the right number' ); + is( $bar->string, 'foo', '... got the right string' ); + is( $bar->float, 10.5, '... got the right float' ); + is_deeply( $bar->array, [ 1 .. 10 ], '... got the right array' ); is_deeply( - $foo->hash, + $bar->hash, { map { $_ => undef } ( 1 .. 10 ) }, '... got the right hash' ); - isa_ok( $foo->object, 'Foo' ); - is( $foo->object->number, 2, + isa_ok( $bar->object, 'Foo' ); + is( $bar->object->number, 2, '... got the right number (in the embedded object)' ); }