X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcmop%2Fanon_class_removal.t;fp=t%2Fcmop%2Fanon_class_removal.t;h=cb03370b42374383c7cd2d730ee14f8d6dc838f6;hb=4f9d7bbad487061f9cbb31fc840d6c3c11d79c64;hp=0000000000000000000000000000000000000000;hpb=c69565675bcc96bb413d454f61066d3423d0f7be;p=gitmo%2FMoose.git diff --git a/t/cmop/anon_class_removal.t b/t/cmop/anon_class_removal.t new file mode 100644 index 0000000..cb03370 --- /dev/null +++ b/t/cmop/anon_class_removal.t @@ -0,0 +1,41 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; + +use Class::MOP; + +{ + my $class; + { + my $meta = Class::MOP::Class->create_anon_class( + methods => { + foo => sub { 'FOO' }, + }, + ); + + $class = $meta->name; + can_ok($class, 'foo'); + is($class->foo, 'FOO'); + } + ok(!$class->can('foo')); +} + +{ + my $class; + { + my $meta = Class::MOP::Class->create_anon_class( + methods => { + foo => sub { 'FOO' }, + }, + ); + + $class = $meta->name; + can_ok($class, 'foo'); + is($class->foo, 'FOO'); + Class::MOP::remove_metaclass_by_name($class); + } + ok(!$class->can('foo')); +} + +done_testing;