Tidy code and use Test::Exception
Dave Rolsky [Fri, 25 Dec 2009 15:34:04 +0000 (09:34 -0600)]
t/002-init.t

index 8b5f144..040547d 100644 (file)
@@ -1,6 +1,7 @@
 use strict;
 use warnings;
 use Test::More tests => 9;
+use Test::Exception;
 
 my $i = 0;
 sub new_singleton_pkg {
@@ -15,41 +16,38 @@ sub new_singleton_pkg {
   return $pkg_name;
 }
 
-eval { new_singleton_pkg()->instance; };
-like(
-  $@,
-  qr/\QAttribute (number) is required/,
-  q{can't get the Singleton if requires attrs and we don't provide them},
-);
+throws_ok { new_singleton_pkg()->instance }
+    qr/\QAttribute (number) is required/,
+    q{can't get the Singleton if requires attrs and we don't provide them};
 
-eval { new_singleton_pkg()->string; };
-like(
-  $@,
-  qr/\QAttribute (number) is required/,
-  q{can't call any Singleton attr reader if Singleton can't be inited},
-);
+throws_ok { new_singleton_pkg()->string }
+    qr/\QAttribute (number) is required/,
+    q{can't call any Singleton attr reader if Singleton can't be inited};
 
 for my $pkg (new_singleton_pkg) {
-  my $mst = $pkg->new(number => 5);
-  isa_ok($mst, $pkg);
+    my $mst = $pkg->new( number => 5 );
+    isa_ok( $mst, $pkg );
 
-  is($mst->number, 5, "the instance has the given attribute value");
+    is( $mst->number, 5, "the instance has the given attribute value" );
 
-  is(
-    $pkg->number,
-    5,
-    "the class method, called directly, returns the given attribute value"
-  );
+    is(
+        $pkg->number,
+        5,
+        "the class method, called directly, returns the given attribute value"
+    );
 
-  eval { $pkg->new(number => 3) };
-  like($@, qr/already/, "can't make new singleton with conflicting attributes");
+    throws_ok { $pkg->new( number => 3 ) }
+        qr/already/,
+        "can't make new singleton with conflicting attributes";
 
-  my $second = eval { $pkg->new };
-  ok(!$@, "...but a second ->new without args is okay");
+    my $second = eval { $pkg->new };
+    ok( !$@, "...but a second ->new without args is okay" );
 
-  is($second->number, 5, "...we get the originally inited number from it");
+    is( $second->number, 5,
+        "...we get the originally inited number from it" );
 
-  eval { $pkg->initialize };
-  like($@, qr/already/, "...but ->initialize() is still an error");
+    throws_ok { $pkg->initialize }
+        qr/already/,
+        "...but ->initialize() is still an error";
 }