Convert to Test::Fatal
Dave Rolsky [Fri, 29 Oct 2010 15:20:10 +0000 (10:20 -0500)]
t/basic.t

index 81f0f6b..6189cda 100644 (file)
--- a/t/basic.t
+++ b/t/basic.t
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Test::Exception;
+use Test::Fatal;
 use Test::Moose qw( with_immutable );
 use Test::More;
 
@@ -62,41 +62,62 @@ use Test::More;
 my @classes = qw( Standard Stricter Subclass Tricky InitArg );
 
 with_immutable {
-    lives_ok { Standard->new( thing => 1, bad => 99 ) }
-    'standard Moose class ignores unknown params';
-
-    throws_ok { Stricter->new( thing => 1, bad => 99 ) }
-    qr/unknown attribute.+: bad/,
-        'strict constructor blows up on unknown params';
-
-    lives_ok { Subclass->new( thing => 1, size => 'large' ) }
-    'subclass constructor handles known attributes correctly';
-
-    throws_ok { Subclass->new( thing => 1, bad => 99 ) }
-    qr/unknown attribute.+: bad/,
-        'subclass correctly recognizes bad attribute';
-
-    lives_ok { Tricky->new( thing => 1, spy => 99 ) }
-    'can work around strict constructor by deleting params in BUILD()';
-
-    throws_ok { Tricky->new( thing => 1, agent => 99 ) }
-    qr/unknown attribute.+: agent/,
-        'Tricky still blows up on unknown params other than spy';
-
-    throws_ok { Subclass->new( thing => 1, bad => 99 ) }
-    qr/unknown attribute.+: bad/,
-        'subclass constructor blows up on unknown params';
-
-    throws_ok { InitArg->new( thing => 1 ) }
-    qr/unknown attribute.+: thing/,
-        'InitArg blows up with attribute name';
-
-    throws_ok { InitArg->new( size => 1 ) }
-    qr/unknown attribute.+: size/,
-        'InitArg blows up when given attribute with undef init_arg';
-
-    lives_ok { InitArg->new( other => 1 ) }
-    'InitArg works when given proper init_arg';
-} @classes;
+    is(
+        exception { Standard->new( thing => 1, bad => 99 ) }, undef,
+        'standard Moose class ignores unknown params'
+    );
+
+    like(
+        exception { Stricter->new( thing => 1, bad => 99 ) },
+        qr/unknown attribute.+: bad/,
+        'strict constructor blows up on unknown params'
+    );
+
+    is(
+        exception { Subclass->new( thing => 1, size => 'large' ) }, undef,
+        'subclass constructor handles known attributes correctly'
+    );
+
+    like(
+        exception { Subclass->new( thing => 1, bad => 99 ) },
+        qr/unknown attribute.+: bad/,
+        'subclass correctly recognizes bad attribute'
+    );
+
+    is(
+        exception { Tricky->new( thing => 1, spy => 99 ) }, undef,
+        'can work around strict constructor by deleting params in BUILD()'
+    );
+
+    like(
+        exception { Tricky->new( thing => 1, agent => 99 ) },
+        qr/unknown attribute.+: agent/,
+        'Tricky still blows up on unknown params other than spy'
+    );
+
+    like(
+        exception { Subclass->new( thing => 1, bad => 99 ) },
+        qr/unknown attribute.+: bad/,
+        'subclass constructor blows up on unknown params'
+    );
+
+    like(
+        exception { InitArg->new( thing => 1 ) },
+        qr/unknown attribute.+: thing/,
+        'InitArg blows up with attribute name'
+    );
+
+    like(
+        exception { InitArg->new( size => 1 ) },
+        qr/unknown attribute.+: size/,
+        'InitArg blows up when given attribute with undef init_arg'
+    );
+
+    is(
+        exception { InitArg->new( other => 1 ) }, undef,
+        'InitArg works when given proper init_arg'
+    );
+}
+@classes;
 
 done_testing();