use strict;
use warnings;
use Test::More tests => 18;
+use Class::MOP ();
{
package My::Role;
'SubSubClassUseBase meta metaclass does the My::Role role' );
}
+# Note, remote metaclasses of the 'use base' classes after each test, so that
+# they have to be re-initialized - otherwise latter tests would not demonstrate
+# the original issue.
+Class::MOP::remove_metaclass_by_name('SubClassUseBase');
+
{
package OtherClass;
use Moose;
'MultiParent1 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiParent2;
use Moose;
'MultiParent2 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiParent3;
use Moose;
'MultiParent3 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiParent4;
use Moose;
'MultiParent4 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiChild1;
use Moose;
'MultiChild1 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiChild2;
use Moose;
'MultiChild2 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiChild3;
use Moose;
'MultiChild3 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+
{
package MultiChild4;
use Moose;
'MultiChild4 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name(qw/SubClassUseBase OtherSubClassUseBase/);
+