File: 040_moose_nonmoose_metatrait_init_order.t

package info (click to toggle)
libmoose-perl 1.09-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 3,004 kB
  • ctags: 1,472
  • sloc: perl: 25,387; makefile: 2
file content (30 lines) | stat: -rw-r--r-- 681 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use strict;
use warnings;
{
    package My::Role;
    use Moose::Role;
}
{
    package SomeClass;
    use Moose -traits => 'My::Role';
}
{
    package SubClassUseBase;
    use base qw/SomeClass/;
}
{
    package SubSubClassUseBase;
    use base qw/SubClassUseBase/;
}

use Test::More;
use Moose::Util qw/find_meta does_role/;

my $subsubclass_meta = Moose->init_meta( for_class => 'SubSubClassUseBase' );
ok does_role($subsubclass_meta, 'My::Role'),
    'SubSubClass metaclass does role from grandparent metaclass';
my $subclass_meta = find_meta('SubClassUseBase');
ok does_role($subclass_meta, 'My::Role'),
    'SubClass metaclass does role from parent metaclass';

done_testing;