xref: /openbsd/gnu/usr.bin/perl/cpan/NEXT/t/actuns.t (revision 256a93a4)
1use strict;
2use warnings;
3use Test::More tests => 6;
4
5BEGIN { use_ok('NEXT') };
6my $order = 0;
7
8package A;
9
10our @ISA = qw/B C D/;
11use if $] >= 5.009005, 'mro', 'dfs';
12
13
14sub test { ::ok(++$order==1,"test A"); $_[0]->NEXT::UNSEEN::ACTUAL::test;}
15
16package B;
17our @ISA = qw/D C/;
18use if $] >= 5.009005, 'mro', 'dfs';
19sub test { ::ok(++$order==2,"test B"); $_[0]->NEXT::ACTUAL::UNSEEN::test;}
20
21package C;
22our @ISA = qw/D/;
23use if $] >= 5.009005, 'mro', 'dfs';
24
25sub test { ::ok(++$order==4,"test C"); $_[0]->NEXT::UNSEEN::ACTUAL::test;}
26
27package D;
28use if $] >= 5.009005, 'mro', 'dfs';
29
30sub test { ::ok(++$order==3,"test D"); $_[0]->NEXT::ACTUAL::UNSEEN::test;}
31
32package main;
33
34my $foo = {};
35
36bless($foo,"A");
37
38eval{ $foo->test }
39	? fail("Didn't die on missing ancestor")
40	: pass("Correctly dies after C");
41