1*b39c5158Smillert#!/usr/bin/perl -w 2*b39c5158SmillertBEGIN { 3*b39c5158Smillert if( $ENV{PERL_CORE} ) { 4*b39c5158Smillert chdir 't' if -d 't'; 5*b39c5158Smillert chdir '../lib/parent'; 6*b39c5158Smillert @INC = '..'; 7*b39c5158Smillert } 8*b39c5158Smillert} 9*b39c5158Smillert 10*b39c5158Smillertuse strict; 11*b39c5158Smillertuse Test::More tests => 9; 12*b39c5158Smillertuse lib 't/lib'; 13*b39c5158Smillert 14*b39c5158Smillert{ 15*b39c5158Smillert package Child; 16*b39c5158Smillert use parent 'Dummy'; 17*b39c5158Smillert} 18*b39c5158Smillert 19*b39c5158Smillert{ 20*b39c5158Smillert package Child2; 21*b39c5158Smillert require Dummy; 22*b39c5158Smillert use parent -norequire, 'Dummy::InlineChild'; 23*b39c5158Smillert} 24*b39c5158Smillert 25*b39c5158Smillert{ 26*b39c5158Smillert package Child3; 27*b39c5158Smillert use parent "Dummy'Outside"; 28*b39c5158Smillert} 29*b39c5158Smillert 30*b39c5158Smillertmy $obj = {}; 31*b39c5158Smillertbless $obj, 'Child'; 32*b39c5158Smillertisa_ok $obj, 'Dummy'; 33*b39c5158Smillertcan_ok $obj, 'exclaim'; 34*b39c5158Smillertis $obj->exclaim, "I CAN FROM Dummy", 'Inheritance is set up correctly'; 35*b39c5158Smillert 36*b39c5158Smillert$obj = {}; 37*b39c5158Smillertbless $obj, 'Child2'; 38*b39c5158Smillertisa_ok $obj, 'Dummy::InlineChild'; 39*b39c5158Smillertcan_ok $obj, 'exclaim'; 40*b39c5158Smillertis $obj->exclaim, "I CAN FROM Dummy::InlineChild", 'Inheritance is set up correctly for inlined classes'; 41*b39c5158Smillert 42*b39c5158Smillert$obj = {}; 43*b39c5158Smillertbless $obj, 'Child3'; 44*b39c5158Smillertisa_ok $obj, 'Dummy::Outside'; 45*b39c5158Smillertcan_ok $obj, 'exclaim'; 46*b39c5158Smillertis $obj->exclaim, "I CAN FROM Dummy::Outside", "Inheritance is set up correctly for classes inherited from via '"; 47*b39c5158Smillert 48