Blame t/10basic.t

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");