Fix Makefile.PL to remove old xt/compatibility/* tests, and organize Mouse::Util
[gitmo/Mouse.git] / t / 019-handles.t
index 79d29c2..03797d6 100644 (file)
@@ -2,7 +2,6 @@
 use strict;
 use warnings;
 use Test::More tests => 24;
-use Test::Exception;
 
 do {
     package Person;
@@ -38,29 +37,45 @@ do {
         handles => [qw/name age/],
     );
 
-    ::throws_ok {
-        has error => (
-            handles => "string",
-        );
-    } qr/Unable to canonicalize the 'handles' option with string/;
-
-    ::throws_ok {
-        has error2 => (
-            handles => \"ref_to_string",
-        );
-    } qr/Unable to canonicalize the 'handles' option with SCALAR\(\w+\)/;
-
-    ::throws_ok {
-        has error3 => (
-            handles => qr/regex/,
-        );
-    } qr/Unable to canonicalize the 'handles' option with \(\?-xism:regex\)/;
-
-    ::throws_ok {
-        has error4 => (
-            handles => sub { "code" },
-        );
-    } qr/Unable to canonicalize the 'handles' option with CODE\(\w+\)/;
+    TODO: {
+        local our $TODO = "Mouse lacks this";
+        eval {
+            has error => (
+                handles => "string",
+            );
+        };
+        ::ok(!$@, "handles => role");
+    }
+
+    TODO: {
+        local our $TODO = "Mouse lacks this";
+        eval {
+            has error2 => (
+                handles => \"ref_to_string",
+            );
+        };
+        ::ok(!$@, "handles => \\str");
+    }
+
+    TODO: {
+        local our $TODO = "Mouse lacks this";
+        eval {
+            has error3 => (
+                handles => qr/regex/,
+            );
+        };
+        ::ok(!$@, "handles => qr/re/");
+    }
+
+    TODO: {
+        local our $TODO = "Mouse lacks this";
+        eval {
+            has error4 => (
+                handles => sub { "code" },
+            );
+        };
+        ::ok(!$@, "handles => sub { code }");
+    }
 };
 
 can_ok(Class => qw(person has_person person_name person_age name age quid));
@@ -92,7 +107,7 @@ is($object->me->age, 21, "me->age");
 
 is_deeply(
     $object->meta->get_attribute('me')->handles,
-    { name => 'name', age => 'age' },
+    [ 'name', 'age' ],
     "correct handles layout for 'me'",
 );