Commit | Line | Data |
e1a479c5 |
1 | #!./perl |
2 | |
3 | use strict; |
4 | use warnings; |
e1a479c5 |
5 | |
c94dd5be |
6 | require q(./test.pl); plan(tests => 1); |
e1a479c5 |
7 | |
8 | =pod |
9 | |
10 | From the parrot test t/pmc/object-meths.t |
11 | |
12 | A B A E |
13 | \ / \ / |
14 | C D |
15 | \ / |
16 | \ / |
17 | F |
18 | |
19 | =cut |
20 | |
21 | { |
22 | package t::lib::A; use mro 'dfs'; |
23 | package t::lib::B; use mro 'dfs'; |
24 | package t::lib::E; use mro 'dfs'; |
25 | package t::lib::C; use mro 'dfs'; use base ('t::lib::A', 't::lib::B'); |
26 | package t::lib::D; use mro 'dfs'; use base ('t::lib::A', 't::lib::E'); |
27 | package t::lib::F; use mro 'dfs'; use base ('t::lib::C', 't::lib::D'); |
28 | } |
29 | |
c94dd5be |
30 | ok(eq_array( |
e1a479c5 |
31 | mro::get_linear_isa('t::lib::F'), |
c94dd5be |
32 | [ qw(t::lib::F t::lib::C t::lib::A t::lib::B t::lib::D t::lib::E) ] |
33 | ), '... got the right MRO for t::lib::F'); |
e1a479c5 |
34 | |