Revert "Change inline_constructor => 0"
[gitmo/Mouse.git] / t / 001_mouse / 813-compatibility-get_method_list.t
1 use strict;
2 use warnings;
3 use Test::More tests => 6;
4
5 {
6     package MouseClass;
7     use Carp; # import external functions (not our methods)
8     use Mouse;
9     sub foo { }
10     no Mouse;
11 }
12 {
13     package MouseClassImm;
14     use Carp; # import external functions (not our methods)
15     use Mouse;
16     sub foo { }
17     no Mouse;
18     __PACKAGE__->meta->make_immutable();
19 }
20 {
21     package MouseRole;
22     use Carp; # import external functions (not our methods)
23     use Mouse::Role;
24     sub bar { }
25     no Mouse::Role;
26 }
27 {
28     package MouseRoleWithoutNoMouseRole;
29     use Mouse::Role;
30
31     sub baz { }
32     # without no Mouse::Role;
33 }
34 {
35     package MouseClassWithRole;
36     use Mouse;
37
38     with 'MouseRole';
39     no Mouse;
40 }
41 {
42     package MouseClassWithRoles;
43     use Mouse;
44
45     with qw(MouseRole MouseRoleWithoutNoMouseRole);
46 }
47
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";
50
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";
54
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";
59
60