X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=t%2F030_roles%2Ffailing%2F021_role_composite_exclusion.t;fp=t%2F030_roles%2Ffailing%2F021_role_composite_exclusion.t;h=0000000000000000000000000000000000000000;hp=c8b6f6b8689f3850a0cc7267837b01cf62d2901e;hb=c47cf41554416ee1828eab17d31342a53aaa0839;hpb=9864f0e4ba233c5f30ad6dc7c484ced43d883d27 diff --git a/t/030_roles/failing/021_role_composite_exclusion.t b/t/030_roles/failing/021_role_composite_exclusion.t deleted file mode 100644 index c8b6f6b..0000000 --- a/t/030_roles/failing/021_role_composite_exclusion.t +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -use Test::More tests => 12; -use Test::Exception; - -#use Mouse::Meta::Role::Application::RoleSummation; -use Mouse::Meta::Role::Composite; - -{ - package Role::Foo; - use Mouse::Role; - - package Role::Bar; - use Mouse::Role; - - package Role::ExcludesFoo; - use Mouse::Role; - excludes 'Role::Foo'; - - package Role::DoesExcludesFoo; - use Mouse::Role; - with 'Role::ExcludesFoo'; - - package Role::DoesFoo; - use Mouse::Role; - with 'Role::Foo'; -} - -ok(Role::ExcludesFoo->meta->excludes_role('Role::Foo'), '... got the right exclusions'); -ok(Role::DoesExcludesFoo->meta->excludes_role('Role::Foo'), '... got the right exclusions'); - -# test simple exclusion -dies_ok { - Mouse::Meta::Role::Application::RoleSummation->new->apply( - Mouse::Meta::Role::Composite->new( - roles => [ - Role::Foo->meta, - Role::ExcludesFoo->meta, - ] - ) - ); -} '... this fails as expected'; - -# test no conflicts -{ - my $c = Mouse::Meta::Role::Composite->new( - roles => [ - Role::Foo->meta, - Role::Bar->meta, - ] - ); - isa_ok($c, 'Mouse::Meta::Role::Composite'); - - is($c->name, 'Role::Foo|Role::Bar', '... got the composite role name'); - - lives_ok { - Mouse::Meta::Role::Application::RoleSummation->new->apply($c); - } '... this lives as expected'; -} - -# test no conflicts w/exclusion -{ - my $c = Mouse::Meta::Role::Composite->new( - roles => [ - Role::Bar->meta, - Role::ExcludesFoo->meta, - ] - ); - isa_ok($c, 'Mouse::Meta::Role::Composite'); - - is($c->name, 'Role::Bar|Role::ExcludesFoo', '... got the composite role name'); - - lives_ok { - Mouse::Meta::Role::Application::RoleSummation->new->apply($c); - } '... this lives as expected'; - - is_deeply([$c->get_excluded_roles_list], ['Role::Foo'], '... has excluded roles'); -} - - -# test conflict with an "inherited" exclusion -dies_ok { - Mouse::Meta::Role::Application::RoleSummation->new->apply( - Mouse::Meta::Role::Composite->new( - roles => [ - Role::Foo->meta, - Role::DoesExcludesFoo->meta, - ] - ) - ); - -} '... this fails as expected'; - -# test conflict with an "inherited" exclusion of an "inherited" role -dies_ok { - Mouse::Meta::Role::Application::RoleSummation->new->apply( - Mouse::Meta::Role::Composite->new( - roles => [ - Role::DoesFoo->meta, - Role::DoesExcludesFoo->meta, - ] - ) - ); -} '... this fails as expected'; - -