Commit | Line | Data |
---|---|---|
d401eda1 | 1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
47a367d0 | 6 | use Test::More tests => 1; |
d401eda1 | 7 | |
8 | BEGIN { | |
47a367d0 | 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); | |
d401eda1 | 34 | } |
35 | ||
47a367d0 | 36 | =pod |
d401eda1 | 37 | |
38 | From 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 | 49 | Class::C3::initialize(); |
50 | ||
d401eda1 | 51 | is_deeply( |
47a367d0 | 52 | [ Class::C3::calculateMRO('ClassF') ], |
53 | [ qw(ClassF ClassD ClassE ClassA ClassB ClassC) ], | |
54 | '... got the right MRO for ClassF'); |