stop relying on . in @INC
[gitmo/Class-C3.git] / t / 05_MRO.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 1;
7
8 BEGIN {
9   package ClassA;
10   use Class::C3;
11 }
12 BEGIN {
13   package ClassB;
14   use Class::C3;
15 }
16 BEGIN {
17   package ClassC;
18   use Class::C3;
19 }
20 BEGIN {
21   package ClassD;
22   use Class::C3;
23   our @ISA = qw(ClassA ClassB);
24 }
25 BEGIN {
26   package ClassE;
27   use Class::C3;
28   our @ISA = qw(ClassA ClassC);
29 }
30 BEGIN {
31   package ClassF;
32   use Class::C3;
33   our @ISA = qw(ClassD ClassE);
34 }
35
36 =pod
37
38 From the parrot test t/pmc/object-meths.t
39
40  A   B A   C
41   \ /   \ /
42    D     E
43     \   /
44      \ /
45       F
46
47 =cut
48
49 Class::C3::initialize();
50
51 is_deeply(
52     [ Class::C3::calculateMRO('ClassF') ],
53     [ qw(ClassF ClassD ClassE ClassA ClassB ClassC) ],
54     '... got the right MRO for ClassF');