Commit | Line | Data |
---|---|---|
b9e73af7 | 1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
3022feba | 6 | use Test::More tests => 1; |
7 | use Class::C3::XS; | |
b9e73af7 | 8 | |
9 | BEGIN { | |
3022feba | 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); | |
b9e73af7 | 32 | } |
33 | ||
3022feba | 34 | =pod |
b9e73af7 | 35 | |
36 | From the parrot test t/pmc/object-meths.t | |
37 | ||
3022feba | 38 | A B A C |
b9e73af7 | 39 | \ / \ / |
3022feba | 40 | D E |
b9e73af7 | 41 | \ / |
42 | \ / | |
43 | F | |
44 | ||
45 | =cut | |
46 | ||
47 | is_deeply( | |
3022feba | 48 | [ Class::C3::XS::calculateMRO('ClassF') ], |
49 | [ qw(ClassF ClassD ClassE ClassA ClassB ClassC) ], | |
50 | '... got the right MRO for ClassF'); |