Change, Fix, Improve
[gitmo/Mouse.git] / t / 400-define-role.t
index 5e1e2d1..1cb7397 100644 (file)
@@ -1,8 +1,16 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 11;
-use t::Exception;
+use Test::More;
+BEGIN{
+    if(eval{ require Class::Method::Modifiers::Fast } || eval{ require Class::Method::Modifiers }){
+        plan tests => 11;
+    }
+    else{
+        plan skip_all => 'This test requires Class::Method::Modifiers(::Fast)?';
+    }
+}
+use Test::Exception;
 
 lives_ok {
     package Role;
@@ -44,7 +52,7 @@ lives_ok {
     package Role;
     use Mouse::Role;
 
-    has 'foo';
+    has 'foo' => (is => 'bare');
 
     no Mouse::Role;
 };
@@ -64,14 +72,18 @@ lives_ok {
     no Mouse::Role;
 };
 
-throws_ok {
+TODO: {
     package Role;
     use Mouse::Role;
 
-    excludes 'excluded';
+    eval {
+        excludes 'excluded';
+    };
+    local our $TODO = "Mouse::Role does not currently support 'excludes'";
+    ::ok(!$@, "excludes");
 
     no Mouse::Role;
-} qr/Mouse::Role does not currently support 'excludes'/;
+};
 
 throws_ok {
     package Role;
@@ -89,10 +101,10 @@ lives_ok {
     ::is(blessed($obj), "Impromptu::Class");
 };
 
-throws_ok {
+lives_ok{
     package Class;
     use Mouse;
 
     with 'Role', 'Other::Role';
-} qr/Mouse::Role only supports 'with' on individual roles at a time/;
+};