6 use Test::More tests => 7;
14 package Foo::Meta::Instance;
15 use base 'Class::MOP::Instance';
17 package Bar::Meta::Instance;
18 use base 'Class::MOP::Instance';
20 package FooBar::Meta::Instance;
21 use base 'Foo::Meta::Instance', 'Bar::Meta::Instance';
27 metaclass->import(':instance_metaclass' => 'Foo::Meta::Instance');
29 ok(!$@, '... Foo.meta => Foo::Meta is compatible') || diag $@;
34 metaclass->import(':instance_metaclass' => 'Bar::Meta::Instance');
36 ok(!$@, '... Bar.meta => Bar::Meta is compatible') || diag $@;
42 metaclass->import(':instance_metaclass' => 'Bar::Meta::Instance');
44 ok($@, '... Foo::Foo.meta => Bar::Meta is not compatible') || diag $@;
50 metaclass->import(':instance_metaclass' => 'Foo::Meta::Instance');
52 ok($@, '... Bar::Bar.meta => Foo::Meta is not compatible') || diag $@;
58 metaclass->import(':instance_metaclass' => 'FooBar::Meta::Instance');
60 ok(!$@, '... FooBar.meta => FooBar::Meta is compatible') || diag $@;
66 metaclass->import(':instance_metaclass' => 'FooBar::Meta::Instance');
68 ok(!$@, '... FooBar2.meta => FooBar::Meta is compatible') || diag $@;