Test around 'isa'
Marc Mims [Tue, 26 May 2009 18:24:55 +0000 (11:24 -0700)]
t/010_basics/018_universal_methods.t

index 023fa58..70a89eb 100644 (file)
@@ -1,24 +1,32 @@
 #!perl
 
+# UNIVERSAL methods should be wrappable
+
 use strict;
 use warnings;
+    
+{
+    package FakeBar;
+    use Moose::Role;
 
-use Test::More;
+    around isa => sub {
+        my ($orig, $self, $v) = @_;
+        return 1 if $v eq 'Bar';
+        return $orig->($self, $v);
+    };
 
-{
     package Foo;
     use Moose;
-}
+   
+    use Test::Exception;
+    use Test::More tests => 2;
 
+    TODO: {
+        local $TODO = 'UNIVERSAL methods should be wrappable';
 
-plan tests => scalar ( my @universal_methods = qw/isa can VERSION/ );
+        lives_ok { with 'FakeBar' } 'applied role';
 
-my $foo = Foo->new;
-
-TODO: {
-    local $TODO = 'UNIVERSAL methods should be available';
-
-    for my $method ( @universal_methods ) {
-       ok $foo->meta->find_method_by_name($method), "has UNIVERSAL method $method";
-    }
-};
+        my $foo = Foo->new;
+        isa_ok $foo, 'Bar';
+    };
+}