scope makes slower!mouse's constructer is faster than moose with this commit :)
[gitmo/Mouse.git] / t / 000-recipes / 001_point.t
index d78638a..3a8bd33 100644 (file)
@@ -3,13 +3,19 @@
 use strict;
 use warnings;
 
-use Test::More tests => 58;
-use Test::Exception;
-
+use Test::More;
 BEGIN {
-    use_ok('Mouse');           
+    if (eval "require Class::Method::Modifiers; 1") {
+        plan tests => 57;
+    }
+    else {
+        plan skip_all => "Class::Method::Modifiers required for this test";
+    }
 }
 
+use Mouse::Util;
+use Test::Exception;
+
 {
        package Point;  
        use Mouse;
@@ -23,6 +29,7 @@ BEGIN {
            $self->y(0);    
        }
        
+    __PACKAGE__->meta->make_immutable();
 }{     
        package Point3D;
        use Mouse;
@@ -36,6 +43,7 @@ BEGIN {
            $self->{z} = 0;
        };
        
+    __PACKAGE__->meta->make_immutable();
 }
 
 my $point = Point->new(x => 1, y => 2);        
@@ -129,13 +137,13 @@ is_deeply(
 my @Point_methods = qw(meta new x y clear);
 my @Point_attrs   = ('x', 'y');
 
-SKIP: {
-    skip "Mouse has no method introspection", 2 + @Point_methods;
+is_deeply(
+    [ sort @Point_methods                 ],
+    [ sort Point->meta->get_method_list() ],
+    '... we match the method list for Point');
 
-    is_deeply(
-        [ sort @Point_methods                 ],
-        [ sort Point->meta->get_method_list() ],
-        '... we match the method list for Point');
+SKIP: {
+    skip "Mouse has no method introspection", 1 + @Point_methods;
         
     is_deeply(
         [ sort @Point_attrs                      ],