13 package Consumer::Basic;
18 package Consumer::Excludes;
21 with 'Role::Foo' => { -excludes => 'foo' };
23 package Consumer::Aliases;
26 with 'Role::Foo' => { -alias => { 'foo' => 'role_foo' } };
28 package Consumer::Overrides;
36 my @basic = Consumer::Basic->meta->role_applications;
37 my @excludes = Consumer::Excludes->meta->role_applications;
38 my @aliases = Consumer::Aliases->meta->role_applications;
39 my @overrides = Consumer::Overrides->meta->role_applications;
46 my $basic = $basic[0];
47 my $excludes = $excludes[0];
48 my $aliases = $aliases[0];
49 my $overrides = $overrides[0];
51 isa_ok($basic, 'Moose::Meta::Role::Application::ToClass');
52 isa_ok($excludes, 'Moose::Meta::Role::Application::ToClass');
53 isa_ok($aliases, 'Moose::Meta::Role::Application::ToClass');
54 isa_ok($overrides, 'Moose::Meta::Role::Application::ToClass');
56 is($basic->role, Role::Foo->meta);
57 is($excludes->role, Role::Foo->meta);
58 is($aliases->role, Role::Foo->meta);
59 is($overrides->role, Role::Foo->meta);
61 is($basic->class, Consumer::Basic->meta);
62 is($excludes->class, Consumer::Excludes->meta);
63 is($aliases->class, Consumer::Aliases->meta);
64 is($overrides->class, Consumer::Overrides->meta);
66 is_deeply($basic->get_method_aliases, {});
67 is_deeply($excludes->get_method_aliases, {});
68 is_deeply($aliases->get_method_aliases, { foo => 'role_foo' });
69 is_deeply($overrides->get_method_aliases, {});
71 is_deeply($basic->get_method_exclusions, []);
72 is_deeply($excludes->get_method_exclusions, ['foo']);
73 is_deeply($aliases->get_method_exclusions, []);
74 is_deeply($overrides->get_method_exclusions, []);