File: moose_nonmoose_metatrait_init_order.t

package info (click to toggle)
libmoose-perl 2.2207-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 7,416 kB
  • sloc: perl: 21,345; ansic: 291; makefile: 10
file content (30 lines) | stat: -rw-r--r-- 709 bytes parent folder | download | duplicates (7)
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 parent -norequire => 'SomeClass';
}
{
    package SubSubClassUseBase;
    use parent -norequire => '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;