Attempting to call ->make_immutable on a class instead of an object is
Dave Rolsky [Tue, 30 Jun 2009 19:38:25 +0000 (14:38 -0500)]
just wrong, even if it accidentally works.

t/070_immutable_metaclass.t

index 1a49fd7..d7b1c4d 100644 (file)
@@ -44,13 +44,11 @@ use Class::MOP;
 
     my $immutable_metaclass = $meta->_immutable_metaclass->meta;
 
-    my $obj = $immutable_metaclass->name;
+    my $immutable_class_name = $immutable_metaclass->name;
 
-    ok( !$obj->is_mutable,  '... immutable_metaclass is not mutable' );
-    ok( $obj->is_immutable, '... immutable_metaclass is immutable' );
-    ok( !$obj->make_immutable,
-        '... immutable_metaclass make_mutable is noop' );
-    is( $obj->meta, $immutable_metaclass,
+    ok( !$immutable_class_name->is_mutable,  '... immutable_metaclass is not mutable' );
+    ok( $immutable_class_name->is_immutable, '... immutable_metaclass is immutable' );
+    is( $immutable_class_name->meta, $immutable_metaclass,
         '... immutable_metaclass meta hack works' );
 
     isa_ok( $meta, "Class::MOP::Class::Immutable::Trait" );