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