make this a bit more extensible, for moose's benefit
[gitmo/Class-MOP.git] / t / 090_no_meta_method.t
index a28c027..631442d 100644 (file)
@@ -6,15 +6,26 @@ use Test::Exception;
 use Class::MOP;
 
 {
-    package Foo;
-    use metaclass no_meta => 1;
+    {
+        package Foo;
+        use metaclass no_meta => 1;
+    }
+
+    my $meta = Class::MOP::class_of('Foo');
+    ok(!$meta->has_method('meta'), "no meta method was installed");
+    $meta->add_method(meta => sub { die 'META' });
+    lives_ok { $meta->find_method_by_name('meta') } "can do meta-level stuff";
+    lives_ok { $meta->make_immutable } "can do meta-level stuff";
+    lives_ok { $meta->class_precedence_list } "can do meta-level stuff";
 }
 
-my $meta = Class::MOP::class_of('Foo');
-ok(!$meta->has_method('meta'), "no meta method was installed");
-$meta->add_method(meta => sub { die 'META' });
-lives_ok { $meta->find_method_by_name('meta') } "can do meta-level stuff";
-lives_ok { $meta->make_immutable } "can do meta-level stuff";
-lives_ok { $meta->class_precedence_list } "can do meta-level stuff";
+{
+    my $meta = Class::MOP::Class->create('Bar', no_meta => 1);
+    ok(!$meta->has_method('meta'), "no meta method was installed");
+    $meta->add_method(meta => sub { die 'META' });
+    lives_ok { $meta->find_method_by_name('meta') } "can do meta-level stuff";
+    lives_ok { $meta->make_immutable } "can do meta-level stuff";
+    lives_ok { $meta->class_precedence_list } "can do meta-level stuff";
+}
 
 done_testing;