Commit | Line | Data |
ed71cabb |
1 | |
2 | use strict; |
3 | use warnings; |
4 | |
42915ba4 |
5 | use Test::More tests => 5; |
ed71cabb |
6 | |
7 | BEGIN { |
8 | use_ok('MRO::Compat'); |
9 | } |
10 | |
11 | { |
12 | package AAA; our @ISA = qw//; |
13 | package BBB; our @ISA = qw/AAA/; |
14 | package CCC; our @ISA = qw/AAA/; |
15 | package DDD; our @ISA = qw/AAA/; |
16 | package EEE; our @ISA = qw/BBB CCC DDD/; |
17 | package FFF; our @ISA = qw/EEE DDD/; |
18 | package GGG; our @ISA = qw/FFF/; |
19 | } |
20 | |
21 | is_deeply( |
22 | mro::get_linear_isa('GGG'), |
23 | [ 'GGG', 'FFF', 'EEE', 'BBB', 'AAA', 'CCC', 'DDD' ] |
24 | ); |
42915ba4 |
25 | |
26 | is_deeply( |
27 | [mro::get_isarev('GGG')], |
28 | [], |
29 | ); |
30 | |
31 | is_deeply( |
32 | [mro::get_isarev('DDD')], |
33 | [ 'EEE', 'FFF', 'GGG' ], |
34 | ); |
35 | |
36 | is_deeply( |
37 | [mro::get_isarev('AAA')], |
38 | [ 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG' ], |
39 | ); |