Expand the isa tests a bit, all that's left is population of valid/invalid values
[gitmo/Mouse.git] / t / 024-isa.t
index 65dee16..8e68800 100644 (file)
@@ -1,17 +1,29 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 6;
+use Test::More;
 use Test::Exception;
 
 my %values_for_type = (
     Any => {
-        valid   => ["foo"],
+        valid   => [
+            undef,
+            \undef,
+            1.0,
+            "foo",
+            \"foo",
+            sub { die },
+            qr/^1?$|^(11+?)\1+$/,
+            [],
+            {},
+            \do { my $v },
+            Test::Builder->new,
+        ],
         invalid => [],
     },
 
     Item => {
-        valid   => [],
+        #valid   => [], # populated later with the values from Any
         invalid => [],
     },
 
@@ -101,6 +113,15 @@ my %values_for_type = (
     },
 );
 
+$values_for_type{Item}{valid} = $values_for_type{Any}{valid};
+
+my $plan = 0;
+$plan += 5 * @{ $values_for_type{$_}{valid} }   for keys %values_for_type;
+$plan += 4 * @{ $values_for_type{$_}{invalid} } for keys %values_for_type;
+$plan++; # can_ok
+
+plan tests => $plan;
+
 do {
     package Class;
     use Mouse;