02-inheritance.t   [plain text]


#!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");