1 use Test::More tests => 7;
10 BEGIN { use_ok('NEXT') };
16 sub test { ::ok(++$order==1,"test A"); $_[0]->NEXT::UNSEEN::test; 1}
20 sub test { ::ok(++$order==2,"test B"); $_[0]->NEXT::UNSEEN::test; 1}
24 sub test { ::ok(++$order==4,"test C"); $_[0]->NEXT::UNSEEN::test; 1}
28 sub test { ::ok(++$order==3,"test D"); $_[0]->NEXT::UNSEEN::test; 1}
37 ? pass("Correctly survives after C")
38 : fail("Shouldn't die on missing ancestor");
40 package Diamond::Base;
43 $seen++ ? ::fail("Can't visit inherited test twice")
44 : ::pass("First diamond is okay");
45 shift->NEXT::UNSEEN::test;
48 package Diamond::Left; @ISA = qw[Diamond::Base];
49 package Diamond::Right; @ISA = qw[Diamond::Base];
50 package Diamond::Top; @ISA = qw[Diamond::Left Diamond::Right];