6 use Test::More tests => 3;
10 # uncomment this line, and re-run the
11 # test to see the normal p5 dispatch order
12 #$Class::C3::TURN_OFF_C3 = 1;
17 This tests a strange bug found by Matt S. Trout
18 while building DBIx::Class. Thanks Matt!!!!
32 sub foo { 'Diamond_A::foo' }
39 sub foo { 'Diamond_B::foo => ' . (shift)->next::method }
49 use base ('Diamond_C', 'Diamond_B');
52 sub foo { 'Diamond_D::foo => ' . (shift)->next::method }
56 [ Class::C3::calculateMRO('Diamond_D') ],
57 [ qw(Diamond_D Diamond_C Diamond_B Diamond_A) ],
58 '... got the right MRO for Diamond_D');
61 'Diamond_D::foo => Diamond_B::foo => Diamond_A::foo',
62 '... got the right next::method dispatch path');