update prereqs to reflect things used in tests
[gitmo/MooseX-Storage.git] / t / 030_with_checksum.t
index 842f7fe..e38986a 100644 (file)
@@ -1,23 +1,22 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
 use Test::More;
-use Test::Exception;
+use Test::Fatal;
 use Test::Deep;
 
+use Test::Requires {
+    'Digest' => 0.01, # skip all if not installed
+    'Digest::SHA' => 0.00,
+    'JSON::Any' => 0.01,
+};
+
 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');
 }
 
 {
-
     package Foo;
     use Moose;
     use MooseX::Storage;
@@ -65,9 +64,9 @@ BEGIN {
     );
 
     my $foo2;
-    lives_ok {
+    is( exception {
         $foo2 = Foo->unpack($packed);
-    } '... unpacked okay';
+    }, undef, '... unpacked okay');
     isa_ok($foo2, 'Foo');
 
     cmp_deeply(
@@ -117,7 +116,12 @@ BEGIN {
 
 SKIP: {
     eval { require Digest::HMAC_SHA1 };
-    skip join( " ", "no Digest::HMAC", ( $@ =~ /\@INC/ ? () : do { chomp(my $e = $@); "($e)" } ) ), 15 if $@;
+    if ($@)
+    {
+        my $message = join( " ", "no Digest::HMAC", ( $@ =~ /\@INC/ ? () : do { chomp(my $e = $@); "($e)" } ) );
+        die $message if $ENV{AUTHOR_TESTING};
+        skip $message, 15;
+    }
 
     local $::DEBUG = 1;