X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F103_io_storable_file_custom.t;h=ed991d4f0c2a9d830e84bab0cbc19db5417acb84;hb=19d8a777247d4816be278da681de598526eaf1f2;hp=87878c3681b42862fb2a36447a328fa65cf3c7f0;hpb=5e5d4e282f78965168236c6631705cae8d5d01de;p=gitmo%2FMooseX-Storage.git diff --git a/t/103_io_storable_file_custom.t b/t/103_io_storable_file_custom.t index 87878c3..ed991d4 100644 --- a/t/103_io_storable_file_custom.t +++ b/t/103_io_storable_file_custom.t @@ -1,9 +1,8 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More tests => 11; +use Test::Deep; use Storable (); use File::Temp qw(tempdir); use File::Spec::Functions; @@ -17,18 +16,18 @@ BEGIN { package Foo; use Moose; use MooseX::Storage; - + with Storage(io => 'StorableFile'); - + has 'number' => (is => 'ro', isa => 'Int'); has 'string' => (is => 'rw', isa => 'Str'); - has 'float' => (is => 'ro', isa => 'Num'); + has 'float' => (is => 'ro', isa => 'Num'); has 'array' => (is => 'ro', isa => 'ArrayRef'); - has 'hash' => (is => 'ro', isa => 'HashRef'); - has 'object' => (is => 'ro', isa => 'Object'); - - ## add some custom freeze/thaw hooks here ... - + has 'hash' => (is => 'ro', isa => 'HashRef'); + has 'object' => (is => 'ro', isa => 'Object'); + + ## add some custom freeze/thaw hooks here ... + sub thaw { my ( $class, $data ) = @_; my $self = $class->unpack( $data ); @@ -54,31 +53,31 @@ my $file = catfile($dir,'temp.storable'); float => 10.5, array => [ 1 .. 10 ], hash => { map { $_ => undef } (1 .. 10) }, - object => Foo->new( number => 2 ), + object => Foo->new( number => 2 ), ); isa_ok($foo, 'Foo'); $foo->store($file); - + # check our custom freeze hook fired ... my $data = Storable::retrieve($file); - is_deeply( + cmp_deeply( $data, { '__CLASS__' => 'Foo', 'float' => 10.5, 'number' => 10, - 'string' => 'HELLO WORLD', + 'string' => 'HELLO WORLD', 'array' => [ 1 .. 10], - 'hash' => { map { $_ => undef } 1 .. 10 }, + 'hash' => { map { $_ => undef } 1 .. 10 }, 'object' => { '__CLASS__' => 'Foo', 'number' => 2 }, }, '... got the data struct we expected' - ); - + ); + } { @@ -90,8 +89,8 @@ my $file = catfile($dir,'temp.storable'); is($foo->number, 10, '... got the right number'); is($foo->float, 10.5, '... got the right float'); - is_deeply($foo->array, [ 1 .. 10], '... got the right array'); - is_deeply($foo->hash, { map { $_ => undef } (1 .. 10) }, '... got the right hash'); + cmp_deeply($foo->array, [ 1 .. 10], '... got the right array'); + cmp_deeply($foo->hash, { map { $_ => undef } (1 .. 10) }, '... got the right hash'); isa_ok($foo->object, 'Foo'); is($foo->object->number, 2, '... got the right number (in the embedded object)');