#!/usr/bin/perl -w #Simon Ilyushchenko, 12/05/05 #Testing the case when we try to inject into @ISA a class that's already a parent of the target class. use strict; use Test::More tests => 2; { package AAA; use base "DBIx::Class::Core"; package BBB; use base 'AAA'; #Injecting a direct parent. __PACKAGE__->inject_base( __PACKAGE__, 'AAA' ); package CCC; use base 'AAA'; #Injecting an indirect parent. __PACKAGE__->inject_base( __PACKAGE__, 'DBIx::Class::Core' ); } eval { Class::C3::calculateMRO('BBB'); }; ok (! $@, "Correctly skipped injecting a direct parent of class BBB"); eval { Class::C3::calculateMRO('CCC'); }; ok (! $@, "Correctly skipped injecting an indirect parent of class BBB");