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