5 use Test::More tests => 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 package UNIVERSAL; our @ISA = qw/DDD/;
23 mro::get_linear_isa('GGG'),
24 [ 'GGG', 'FFF', 'EEE', 'BBB', 'AAA', 'CCC', 'DDD' ],
25 "get_linear_isa for GGG",
29 [sort @{mro::get_isarev('GGG')}],
35 [sort @{mro::get_isarev('DDD')}],
36 [ 'EEE', 'FFF', 'GGG', 'UNIVERSAL' ],
42 [sort @{mro::get_isarev('AAA')}],
43 [ 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'UNIVERSAL' ],
47 ok(mro::is_universal('UNIVERSAL'), "UNIVERSAL is_universal");
48 ok(mro::is_universal('DDD'), "DDD is_universal");
49 ok(mro::is_universal('AAA'), "AAA is_universal");
50 ok(!mro::is_universal('MRO::Compat'), "MRO::Compat !is_universal");
51 ok(!mro::is_universal('BBB'), "BBB !is_universal");
52 ok(!mro::is_universal('FFF'), "FFF !is_universal");