improvement the compatibility with Moose.
[gitmo/Mouse.git] / t / 800_shikabased / 013-compatibility-get_method_list.t
1 use strict;
2 use warnings;
3 use Test::More;
4 plan skip_all => "This test requires Moose" unless eval "require Moose; 1;";
5 plan tests => 6;
6
7 test($_) for qw/Moose Mouse/;
8 exit;
9
10 sub test {
11     my $class = shift;
12     eval <<"...";
13 {
14     package ${class}Class;
15     use ${class};
16     sub foo { }
17     no ${class};
18 }
19 {
20     package ${class}ClassImm;
21     use ${class};
22     sub foo { }
23     no ${class};
24     __PACKAGE__->meta->make_immutable();
25 }
26 {
27     package ${class}Role;
28     use ${class}::Role;
29     sub bar { }
30 }
31 ...
32     die $@ if $@;
33     is join(',', sort "${class}Class"->meta->get_method_list()),    'foo,meta';
34     is join(',', sort "${class}ClassImm"->meta->get_method_list()), 'foo,meta,new';
35     is join(',', sort "${class}Role"->meta->get_method_list()),     'bar';
36 }
37