+++ /dev/null
-use strict;
-# This is automatically generated by author/import-moose-test.pl.
-# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
-use t::lib::MooseCompat;
-use warnings;
-use Test::More;
-$TODO = q{Mouse is not yet completed};
-use Mouse::Meta ();
-
-{
- package My::Role;
- use Mouse::Role;
-}
-
-{
- package SomeClass;
- use Mouse -traits => 'My::Role';
-}
-
-{
- package SubClassUseBase;
- use base qw/SomeClass/;
-}
-
-{
- package SubSubClassUseBase;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends 'SubClassUseBase';
- }
- 'Can extend non-Mouse class with parent class that is a Mouse class with a meta role';
-}
-
-{
- ok( SubSubClassUseBase->meta->meta->can('does_role')
- && SubSubClassUseBase->meta->meta->does_role('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.
-Mouse::Util::remove_metaclass_by_name('SubClassUseBase');
-
-{
- package OtherClass;
- use Mouse;
-}
-
-{
- package OtherSubClassUseBase;
- use base 'OtherClass';
-}
-
-{
- package MultiParent1;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends qw( SubClassUseBase OtherSubClassUseBase );
- }
- 'Can extend two non-Mouse classes with parents that are different Mouse metaclasses';
-}
-
-{
- ok( MultiParent1->meta->meta->can('does_role')
- && MultiParent1->meta->meta->does_role('My::Role'),
- 'MultiParent1 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiParent2;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends qw( OtherSubClassUseBase SubClassUseBase );
- }
- 'Can extend two non-Mouse classes with parents that are different Mouse metaclasses (reverse order)';
-}
-
-{
- ok( MultiParent2->meta->meta->can('does_role')
- && MultiParent2->meta->meta->does_role('My::Role'),
- 'MultiParent2 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiParent3;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends qw( OtherClass SubClassUseBase );
- }
- 'Can extend one Mouse class and one non-Mouse class';
-}
-
-{
- ok( MultiParent3->meta->meta->can('does_role')
- && MultiParent3->meta->meta->does_role('My::Role'),
- 'MultiParent3 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiParent4;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends qw( SubClassUseBase OtherClass );
- }
- 'Can extend one non-Mouse class and one Mouse class';
-}
-
-{
- ok( MultiParent4->meta->meta->can('does_role')
- && MultiParent4->meta->meta->does_role('My::Role'),
- 'MultiParent4 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiChild1;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends 'MultiParent1';
- }
- 'Can extend class that itself extends two non-Mouse classes with Mouse parents';
-}
-
-{
- ok( MultiChild1->meta->meta->can('does_role')
- && MultiChild1->meta->meta->does_role('My::Role'),
- 'MultiChild1 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiChild2;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends 'MultiParent2';
- }
- 'Can extend class that itself extends two non-Mouse classes with Mouse parents (reverse order)';
-}
-
-{
- ok( MultiChild2->meta->meta->can('does_role')
- && MultiChild2->meta->meta->does_role('My::Role'),
- 'MultiChild2 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiChild3;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends 'MultiParent3';
- }
- 'Can extend class that itself extends one Mouse and one non-Mouse parent';
-}
-
-{
- ok( MultiChild3->meta->meta->can('does_role')
- && MultiChild3->meta->meta->does_role('My::Role'),
- 'MultiChild3 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-{
- package MultiChild4;
- use Mouse;
- use Test::More;
-$TODO = q{Mouse is not yet completed};
- use Test::Exception;
- lives_ok {
- extends 'MultiParent4';
- }
- 'Can extend class that itself extends one non-Mouse and one Mouse parent';
-}
-
-{
- ok( MultiChild4->meta->meta->can('does_role')
- && MultiChild4->meta->meta->does_role('My::Role'),
- 'MultiChild4 meta metaclass does the My::Role role' );
-}
-
-Mouse::Util::remove_metaclass_by_name($_)
- for qw( SubClassUseBase OtherSubClassUseBase );
-
-done_testing;