# check that describe_class_methods returns the right stuff
# ( on the simpler class )
- my $expected_AttrTest_ISA = [qw(
+ my $expected_AttrTest_linear_ISA = [qw(
DBICTest::SomeParentClass
DBICTest::SomeGrandParentClass
DBICTest::AnotherParentClass
DBIx::Class::MethodAttributes
)];
+ my $expected_AttrTest_full_ISA = { map { $_ => 1 } (
+ qw( UEBERVERSAL UNIVERSAL DBICTest::AttrTest ),
+ @$expected_AttrTest_linear_ISA,
+ )};
+
my $expected_desc = {
class => "DBICTest::AttrTest",
require Math::BigInt;
my $gen = Math::BigInt->new(0);
- $gen += DBIx::Class::_Util::get_real_pkg_gen($_) for (
- 'UEBERVERSAL',
- 'UNIVERSAL',
- 'DBICTest::AttrTest',
- @$expected_AttrTest_ISA,
- );
+ $gen += DBIx::Class::_Util::get_real_pkg_gen($_)
+ for keys %$expected_AttrTest_full_ISA;
$gen;
},
type => 'c3',
is_c3 => 1,
},
- isa => $expected_AttrTest_ISA,
+ linear_isa => $expected_AttrTest_linear_ISA,
+ isa => $expected_AttrTest_full_ISA,
methods => {
FETCH_CODE_ATTRIBUTES => [
{
# due to DFS the last 2 entries of ISA and the VALID_DBIC_CODE_ATTRIBUTE
# sourcing-list will change places
splice @$_, -2, 2, @{$_}[-1, -2]
- for $V_D_C_A_stack, $expected_AttrTest_ISA;
+ for $V_D_C_A_stack, $expected_AttrTest_linear_ISA;
is_deeply (
# work around taint, see TODO below
class => 'UEBERVERSAL',
mro => { is_c3 => 0, type => 'dfs' },
- isa => [],
+ isa => { UEBERVERSAL => 1 },
+ linear_isa => [],
methods => {
ueber => $expected_desc->{methods}{ueber}
},