use Test::More tests => 84;
use Test::Exception;
-BEGIN {
- use_ok('Class::MOP');
-}
+use Class::MOP;
{
package Foo;
is_deeply(
[ $immutable_metaclass->superclasses ],
- [ $meta->blessed ],
+ [ Scalar::Util::blessed($meta) ],
'... immutable_metaclass superclasses are correct'
);
ok($immutable_metaclass->has_method('get_mutable_metaclass_name'));
ok($meta->is_mutable, '... our class is mutable');
ok(!$meta->is_immutable, '... our class is not immutable');
+ my $transformer = $meta->get_immutable_transformer;
+
lives_ok {
$meta->make_immutable();
} '... changed Foo to be immutable';
+ is($transformer, $meta->get_immutable_transformer, '... immutable transformer cache works');
ok(!$meta->make_immutable, '... make immutable now returns nothing');
ok(!$meta->is_mutable, '... our class is no longer mutable');
dies_ok { $meta->add_package_symbol() } '... exception thrown as expected';
dies_ok { $meta->remove_package_symbol() } '... exception thrown as expected';
-
+
lives_ok { $meta->identifier() } '... no exception for get_package_symbol special case';
my @supers;