3 use Test::More tests => 6;
7 use Carp; # import external functions (not our methods)
13 package MouseClassImm;
14 use Carp; # import external functions (not our methods)
18 __PACKAGE__->meta->make_immutable();
22 use Carp; # import external functions (not our methods)
28 package MouseRoleWithoutNoMouseRole;
32 # without no Mouse::Role;
35 package MouseClassWithRole;
42 package MouseClassWithRoles;
45 with qw(MouseRole MouseRoleWithoutNoMouseRole);
48 is join(',', sort MouseClass->meta->get_method_list()), 'foo,meta', "mutable Mouse";
49 is join(',', sort MouseClassImm->meta->get_method_list()), 'DESTROY,foo,meta,new', "immutable Mouse";
51 is join(',', sort MouseRole->meta->get_method_list()), 'bar,meta', "role Mouse";
52 is join(',', sort MouseRoleWithoutNoMouseRole->meta->get_method_list()),
53 'baz,meta', "role Mouse";
55 is join(',', sort MouseClassWithRole->meta->get_method_list()),
56 'bar,meta', "Mouse with a role";
57 is join(',', sort MouseClassWithRoles->meta->get_method_list()),
58 'bar,baz,meta', "Mouse with roles";