|
Packit |
4c8e34 |
use strict;
|
|
Packit |
4c8e34 |
use warnings;
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
use Test::More tests => 10;
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
use MRO::Compat;
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
{
|
|
Packit |
4c8e34 |
package AAA; our @ISA = qw//;
|
|
Packit |
4c8e34 |
package BBB; our @ISA = qw/AAA/;
|
|
Packit |
4c8e34 |
package CCC; our @ISA = qw/AAA/;
|
|
Packit |
4c8e34 |
package DDD; our @ISA = qw/AAA/;
|
|
Packit |
4c8e34 |
package EEE; our @ISA = qw/BBB CCC DDD/;
|
|
Packit |
4c8e34 |
package FFF; our @ISA = qw/EEE DDD/;
|
|
Packit |
4c8e34 |
package GGG; our @ISA = qw/FFF/;
|
|
Packit |
4c8e34 |
package UNIVERSAL; our @ISA = qw/DDD/;
|
|
Packit |
4c8e34 |
}
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
is_deeply(
|
|
Packit |
4c8e34 |
mro::get_linear_isa('GGG'),
|
|
Packit |
4c8e34 |
[ 'GGG', 'FFF', 'EEE', 'BBB', 'AAA', 'CCC', 'DDD' ],
|
|
Packit |
4c8e34 |
"get_linear_isa for GGG",
|
|
Packit |
4c8e34 |
);
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
is_deeply(
|
|
Packit |
4c8e34 |
[sort @{mro::get_isarev('GGG')}],
|
|
Packit |
4c8e34 |
[],
|
|
Packit |
4c8e34 |
"get_isarev for GGG",
|
|
Packit |
4c8e34 |
);
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
is_deeply(
|
|
Packit |
4c8e34 |
[sort @{mro::get_isarev('DDD')}],
|
|
Packit |
4c8e34 |
[ 'EEE', 'FFF', 'GGG', 'UNIVERSAL' ],
|
|
Packit |
4c8e34 |
"get_isarev for DDD",
|
|
Packit |
4c8e34 |
);
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
is_deeply(
|
|
Packit |
4c8e34 |
[sort @{mro::get_isarev('AAA')}],
|
|
Packit |
4c8e34 |
[ 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'UNIVERSAL' ],
|
|
Packit |
4c8e34 |
"get_isarev for AAA",
|
|
Packit |
4c8e34 |
);
|
|
Packit |
4c8e34 |
|
|
Packit |
4c8e34 |
ok(mro::is_universal('UNIVERSAL'), "UNIVERSAL is_universal");
|
|
Packit |
4c8e34 |
ok(mro::is_universal('DDD'), "DDD is_universal");
|
|
Packit |
4c8e34 |
ok(mro::is_universal('AAA'), "AAA is_universal");
|
|
Packit |
4c8e34 |
ok(!mro::is_universal('MRO::Compat'), "MRO::Compat !is_universal");
|
|
Packit |
4c8e34 |
ok(!mro::is_universal('BBB'), "BBB !is_universal");
|
|
Packit |
4c8e34 |
ok(!mro::is_universal('FFF'), "FFF !is_universal");
|