#!perl
use strict;
use warnings;
use Test::More tests => 2;
use Test::Exception;
{
package RoleA;
use Mouse::Role;
sub foo { }
sub bar { }
}
{
package RoleB;
use Mouse::Role;
sub foo { }
sub bar { }
}
{
package Class;
use Mouse;
use Test::More;
use Test::Exception;
throws_ok {
with qw(RoleA RoleB);
} qr/Due to method name conflicts in roles 'RoleA' and 'RoleB', the methods 'bar' and 'foo' must be/;
lives_ok {
with RoleA => { -excludes => ['foo'] },
RoleB => { -excludes => ['bar'] },
;
};
}