1 2use strict; 3use Test::More tests => 2; 4use MRO::Compat; 5 6use lib qw(t/lib); 7use DBICTest; # do not remove even though it is not used 8 9{ 10package AAA; 11 12use base "DBIx::Class::Core"; 13 14package BBB; 15 16use base 'AAA'; 17 18#Injecting a direct parent. 19__PACKAGE__->inject_base( __PACKAGE__, 'AAA' ); 20 21 22package CCC; 23 24use base 'AAA'; 25 26#Injecting an indirect parent. 27__PACKAGE__->inject_base( __PACKAGE__, 'DBIx::Class::Core' ); 28} 29 30eval { mro::get_linear_isa('BBB'); }; 31ok (! $@, "Correctly skipped injecting a direct parent of class BBB"); 32 33eval { mro::get_linear_isa('CCC'); }; 34ok (! $@, "Correctly skipped injecting an indirect parent of class BBB"); 35