{
package My::A;
+ use metaclass;
package My::B;
our @ISA = ('My::A');
package My::C;
}
is_deeply(
- [ Class::MOP::Class->initialize('My::D')->class_precedence_list ],
+ [ My::D->meta->class_precedence_list ],
[ 'My::D', 'My::B', 'My::A', 'My::C', 'My::A' ],
'... My::D->meta->class_precedence_list == (D B A C A)');
{
package My::2::A;
+ use metaclass;
our @ISA = ('My::2::C');
package My::2::B;
our @ISA = ('My::2::B');
}
-eval { Class::MOP::Class->initialize('My::2::B')->class_precedence_list };
+eval { My::2::B->meta->class_precedence_list };
ok($@, '... recursive inheritance breaks correctly :)');
=pod
{
package My::3::A;
+ use metaclass;
package My::3::B;
our @ISA = ('My::3::A');
package My::3::C;
}
is_deeply(
- [ Class::MOP::Class->initialize('My::3::D')->class_precedence_list ],
+ [ My::3::D->meta->class_precedence_list ],
[ 'My::3::D', 'My::3::B', 'My::3::A', 'My::3::C', 'My::3::A', 'My::3::B', 'My::3::A' ],
'... My::3::D->meta->class_precedence_list == (D B A C A B A)');
{
package Foo;
+ use metaclass;
sub CPL { push @CLASS_PRECEDENCE_LIST => 'Foo' }
}
package Baz;
+ use metaclass;
our @ISA = ('Bar');
sub CPL {
Foo::Bar::Baz->CPL();
is_deeply(
- [ Class::MOP::Class->initialize('Foo::Bar::Baz')->class_precedence_list ],
+ [ Foo::Bar::Baz->meta->class_precedence_list ],
[ @CLASS_PRECEDENCE_LIST ],
'... Foo::Bar::Baz->meta->class_precedence_list == @CLASS_PRECEDENCE_LIST');