Make Makefile.PL features work again. RT#67170
[gitmo/MooseX-Storage.git] / t / 030_with_checksum.t
index 720a633..f123821 100644 (file)
@@ -3,16 +3,22 @@
 use strict;
 use warnings;
 
-use Test::More tests => 25;
+use Test::More;
 use Test::Exception;
 use Test::Deep;
 
+use Test::Requires {
+    'Digest' => 0.01, # skip all if not installed
+    'Digest::SHA1' => 0.01,
+    'JSON::Any' => 0.01,
+};
+
 BEGIN {
+    plan tests => 26;
     use_ok('MooseX::Storage');
 }
 
 {
-
     package Foo;
     use Moose;
     use MooseX::Storage;
@@ -112,7 +118,9 @@ BEGIN {
 
 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,
@@ -124,29 +132,35 @@ SKIP: {
     );
     isa_ok( $foo, 'Foo' );
 
-    my $frozen1 = $foo->freeze( "HMAC_SHA1", "secret" );
+    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( $d2 );
+    my $frozen2 = $foo->freeze( digest => $d2 );
     ok( length($frozen2), "got frozen data" );
 
     cmp_ok( $frozen1, "ne", $frozen2, "versions are different" );
 
-    my $foo1 = eval { Foo->thaw( $frozen1, "HMAC_SHA1", "secret" ) };
+    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, $d2 ) };
+
+    my $foo2 = eval { Foo->thaw( $frozen2, digest => $d2 ) };
     $e = $@;
 
     ok( $foo2, "thawed" );
     ok( !$e, "no error" ) || diag $e;
 
-    $foo1 = eval { Foo->thaw( $frozen1, $d2 ) };
+    $foo1 = eval { Foo->thaw( $frozen1, digest => $d2 ) };
     $e = $@;
 
     ok( !$foo1, "not thawed" );
@@ -155,7 +169,7 @@ SKIP: {
 
     $frozen1 =~ s/foo/bar/;
 
-    $foo1 = eval { Foo->thaw( $frozen1, "HMAC_SHA1", "secret" ) };
+    $foo1 = eval { Foo->thaw( $frozen1, digest => [ "HMAC_SHA1", "secret" ] ) };
     $e = $@;
 
     ok( !$foo1, "not thawed" );