make this test function properly when JSON backends aren't installed
[gitmo/MooseX-Storage.git] / t / 005_w_versions_and_authority_check.t
index 8d99b02..50b5a15 100644 (file)
@@ -1,10 +1,9 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
 use Test::More tests => 8;
-use Test::Exception;
+use Test::Deep;
+use Test::Fatal;
 
 BEGIN {
     use_ok('MooseX::Storage');
@@ -12,7 +11,7 @@ BEGIN {
 
 =pod
 
-This tests that the version and authority 
+This tests that the version and authority
 checks are performed upon object expansion.
 
 =cut
@@ -21,27 +20,27 @@ checks are performed upon object expansion.
     package Bar;
     use Moose;
     use MooseX::Storage;
-    
+
     our $VERSION   = '0.01';
     our $AUTHORITY = 'cpan:JRANDOM';
 
     with Storage;
-    
+
     has 'number' => (is => 'ro', isa => 'Int');
-    
+
     package Foo;
     use Moose;
     use MooseX::Storage;
 
     our $VERSION   = '0.01';
-    our $AUTHORITY = 'cpan:JRANDOM';    
+    our $AUTHORITY = 'cpan:JRANDOM';
 
-    with Storage;    
+    with Storage;
 
-    has 'bar' => ( 
-        is  => 'ro', 
-        isa => 'Bar' 
-    );    
+    has 'bar' => (
+        is  => 'ro',
+        isa => 'Bar'
+    );
 }
 
 {
@@ -49,15 +48,15 @@ checks are performed upon object expansion.
         bar => Bar->new(number => 1)
     );
     isa_ok( $foo, 'Foo' );
-    
-    is_deeply(
+
+    cmp_deeply(
         $foo->pack,
         {
             __CLASS__ => 'Foo-0.01-cpan:JRANDOM',
             bar => {
                 __CLASS__ => 'Bar-0.01-cpan:JRANDOM',
                 number    => 1,
-            }         
+            }
         },
         '... got the right frozen class'
     );
@@ -70,46 +69,45 @@ checks are performed upon object expansion.
             bar => {
                 __CLASS__ => 'Bar-0.01-cpan:JRANDOM',
                 number    => 1,
-            }         
-        },     
+            }
+        },
     );
     isa_ok( $foo, 'Foo' );
     isa_ok( $foo->bar, 'Bar' );
     is( $foo->bar->number, 1 , '... got the right number too' );
-    
+
 }
 
-Moose::Meta::Class->create('Bar', 
+Moose::Meta::Class->create('Bar',
     version   => '0.02',
     authority => 'cpan:JRANDOM',
 );
 
-dies_ok {
+ok(exception {
     Foo->unpack(
         {
             __CLASS__ => 'Foo-0.01-cpan:JRANDOM',
             bar => {
                 __CLASS__ => 'Bar-0.01-cpan:JRANDOM',
                 number    => 1,
-            }         
-        }     
+            }
+        }
     );
-} '... could not unpack, versions are different';
+}, '... could not unpack, versions are different ' . $@);
 
-Moose::Meta::Class->create('Bar', 
+Moose::Meta::Class->create('Bar',
     version   => '0.01',
     authority => 'cpan:DSTATIC',
 );
 
-
-dies_ok {
+ok(exception {
     Foo->unpack(
         {
             __CLASS__ => 'Foo-0.01-cpan:JRANDOM',
             bar => {
                 __CLASS__ => 'Bar-0.01-cpan:JRANDOM',
                 number    => 1,
-            }         
-        }     
+            }
+        }
     );
-} '... could not unpack, authorities are different';
+}, '... could not unpack, authorities are different');