1#!./perl
2
3use strict;
4use warnings;
5
6require q(./test.pl); plan(tests => 1);
7
8=pod
9
10From 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 'c3';
23    package t::lib::B; use mro 'c3';
24    package t::lib::E; use mro 'c3';
25    package t::lib::C; use mro 'c3'; use base ('t::lib::A', 't::lib::B');
26    package t::lib::D; use mro 'c3'; use base ('t::lib::A', 't::lib::E');
27    package t::lib::F; use mro 'c3'; use base ('t::lib::C', 't::lib::D');
28}
29
30ok(eq_array(
31    mro::get_linear_isa('t::lib::F'),
32    [ qw(t::lib::F t::lib::C t::lib::D t::lib::A t::lib::B t::lib::E) ]
33), '... got the right MRO for t::lib::F');
34
35