use strict;
use warnings;
-use Test::More tests => 25;
+use Test::More;
use Test::Exception;
use Test::Deep;
BEGIN {
+ eval "use Digest; use Digest::SHA1";
+ plan skip_all => "Digest and Digest::SHA1 is required for this test" if $@;
+ eval "use JSON::Any";
+ plan skip_all => "JSON::Any is required for this test" if $@;
+ plan tests => 26;
use_ok('MooseX::Storage');
}
SKIP: {
eval { require Digest::HMAC_SHA1 };
- skip join( " ", "no Digest::HMAC", ( $@ =~ /\@INC/ ? () : do { chomp(my $e = $@); "($e)" } ) ), 14 if $@;
+ skip join( " ", "no Digest::HMAC", ( $@ =~ /\@INC/ ? () : do { chomp(my $e = $@); "($e)" } ) ), 15 if $@;
+
+ local $::DEBUG = 1;
my $foo = Foo->new(
number => 10,
my $frozen1 = $foo->freeze( digest => [ "HMAC_SHA1", "secret" ] );
ok( length($frozen1), "got frozen data" );
+ $::DEBUG = 0;
+
my $d2 = Digest::HMAC_SHA1->new("s3cr3t");
my $frozen2 = $foo->freeze( digest => $d2 );
cmp_ok( $frozen1, "ne", $frozen2, "versions are different" );
+ is( $frozen1, $foo->freeze( digest => [ HMAC_SHA1 => "secret" ] ), "refreeze" );
+
+$::DEBUG = 1;
+
my $foo1 = eval { Foo->thaw( $frozen1, digest => [ "HMAC_SHA1", "secret" ] ) };
my $e = $@;
ok( $foo1, "thawed" );
ok( !$e, "no error" ) || diag $e;
-
+
my $foo2 = eval { Foo->thaw( $frozen2, digest => $d2 ) };
$e = $@;