6 use open qw( :utf8 :std );
8 require q(./test.pl); plan(tests => 4);
12 This tests the classic diamond inheritance pattern.
24 sub hèllò { 'Diᚪၚd_A::hèllò' }
34 sub hèllò { 'Diᚪၚd_C::hèllò' }
38 use base ('Diᚪၚd_B', 'Diᚪၚd_C');
43 mro::get_linear_isa('Diᚪၚd_D'),
44 [ qw(Diᚪၚd_D Diᚪၚd_B Diᚪၚd_A Diᚪၚd_C) ]
45 ), '... got the right MRO for Diᚪၚd_D');
47 is(Diᚪၚd_D->hèllò, 'Diᚪၚd_A::hèllò', '... method resolved itself as expected');
48 is(Diᚪၚd_D->can('hèllò')->(), 'Diᚪၚd_A::hèllò', '... can(method) resolved itself as expected');
49 is(UNIVERSAL::can("Diᚪၚd_D", 'hèllò')->(), 'Diᚪၚd_A::hèllò', '... can(method) resolved itself as expected');