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