use strict;
use warnings;
-use Test::More tests => 18;
+use Test::More;
+use Class::MOP ();
{
package My::Role;
'SubSubClassUseBase meta metaclass does the My::Role role' );
}
+# Note, remove 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($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiParent2;
use Moose;
'MultiParent2 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiParent3;
use Moose;
'MultiParent3 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiParent4;
use Moose;
'MultiParent4 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiChild1;
use Moose;
'MultiChild1 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiChild2;
use Moose;
'MultiChild2 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiChild3;
use Moose;
'MultiChild3 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
{
package MultiChild4;
use Moose;
'MultiChild4 meta metaclass does the My::Role role' );
}
+Class::MOP::remove_metaclass_by_name($_)
+ for qw( SubClassUseBase OtherSubClassUseBase );
+
+done_testing;