4 use Test::More tests => 1;
8 package MyRole::Excluder;
9 use MooseX::Role::Parameterized;
11 parameter exclude => (
22 Moose::Meta::Role->create("Role::A");
23 Moose::Meta::Role->create("Role::B");
27 MyRole::Excluder->meta->generate_role(exclude => $_)->name
32 Moose::Meta::Class->create_anon_class(
33 roles => [ 'Role::A', excludes_roles('Role::A') ],
35 } qr/^Conflict detected: Role::A excludes role 'Role::A'/;
38 # Moose::Meta::Class->create_anon_class(
42 # roles => [ requires_names('alpha') ],
47 # Moose::Meta::Class->create_anon_class(
51 # roles => [ requires_names('alpha', 'beta') ],
53 #} qr/'Moose::Meta::Role::__ANON__::SERIAL::\d+\|Moose::Meta::Role::__ANON__::SERIAL::\d+' requires the method 'beta' to be implemented by 'Class::MOP::Class::__ANON__::SERIAL::\d+'/;
56 # Moose::Meta::Class->create_anon_class(
60 # roles => [ requires_names('alpha', 'beta') ],
62 #} qr/'Moose::Meta::Role::__ANON__::SERIAL::\d+\|Moose::Meta::Role::__ANON__::SERIAL::\d+' requires the method 'alpha' to be implemented by 'Class::MOP::Class::__ANON__::SERIAL::\d+'/;
65 # Moose::Meta::Class->create_anon_class(
70 # roles => [ requires_names('alpha', 'beta') ],