trAvis - MANAGER
Edit File: 015-compose-keywords.t
use strict; use warnings; use Test::More; do { package OtherRole; use Moose::Role; }; do { package MyRole; use MooseX::Role::Parameterized; requires 'requirement'; excludes 'exclusion'; has attribute => (); method meth => sub {}; before meth => sub {}; after meth => sub {}; around meth => sub {}; sub regular_method {} override other_meth => sub { super }; with 'OtherRole'; role { } }; for my $meta (MyRole->meta, MyRole->meta->generate_role) { ok($meta->has_attribute('attribute'), 'has'); ok($meta->has_method('meth'), 'method'); ok($meta->has_method('regular_method'), 'sub'); is($meta->has_before_method_modifiers('meth'), 1, 'before'); is($meta->has_after_method_modifiers('meth'), 1, 'after'); is($meta->has_around_method_modifiers('meth'), 1, 'around'); is($meta->has_override_method_modifier('other_meth'), 1, 'override'); is($meta->does_role('OtherRole'), 1, 'with'); ok($meta->requires_method('requirement'), 'requires'); ok($meta->excludes_role('exclusion'), 'excludes'); } done_testing;