#!perl -T
use Class::Unload;
use lib 't/lib';
use Test::More tests => 6;
require MyClass::Child;
can_ok( 'MyClass::Child', 'parent_method' );
can_ok( 'MyClass::Child', 'child_method' );
Class::Unload->unload('MyClass::Child');
for my $method ( qw/ parent_method child_method/ ) {
eval { MyClass::Child->$method };
like( $@, qr/Can't locate object method "$method" via package "MyClass::Child"/,
"$method on unloaded class fails");
}
require MyClass::Child;
Class::Unload->unload('MyClass::Parent');
can_ok( 'MyClass::Child', 'child_method' );
eval { MyClass::Child->parent_method };
like( $@, qr/Can't locate object method "parent_method" via package "MyClass::Child"/,
"method on unloaded parent class fails");