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 local $TODO = "the error message says Role::A excludes Role::A..??!";
34 Moose::Meta::Class->create_anon_class(
35 roles => [ 'Role::A', excludes_roles('Role::A') ],
37 } qr/^Conflict detected: Moose::Meta::Role::__ANON__::SERIAL::\d+ excludes role 'Role::A'/;
41 # Moose::Meta::Class->create_anon_class(
45 # roles => [ requires_names('alpha') ],
50 # Moose::Meta::Class->create_anon_class(
54 # roles => [ requires_names('alpha', 'beta') ],
56 #} 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+'/;
59 # Moose::Meta::Class->create_anon_class(
63 # roles => [ requires_names('alpha', 'beta') ],
65 #} 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+'/;
68 # Moose::Meta::Class->create_anon_class(
73 # roles => [ requires_names('alpha', 'beta') ],