use strict;
use warnings;
-use Test::More tests => 36;
+use Test::More tests => 39;
use Test::Exception;
BEGIN {
{
package FooRole;
- use strict;
- use warnings;
use Moose::Role;
has 'bar' => (is => 'rw', isa => 'FooClass');
};
package BarClass;
- use strict;
- use warnings;
use Moose;
sub boo { 'BarClass::boo' }
sub foo { 'BarClass::foo' } # << the role overrides this ...
package FooClass;
- use strict;
- use warnings;
use Moose;
extends 'BarClass';
my $foo_class_meta = FooClass->meta;
isa_ok($foo_class_meta, 'Moose::Meta::Class');
+dies_ok {
+ $foo_class_meta->does_role()
+} '... does_role requires a role name';
+
+dies_ok {
+ $foo_class_meta->apply_role()
+} '... apply_role requires a role';
+
+dies_ok {
+ $foo_class_meta->apply_role(bless({} => 'Fail'))
+} '... apply_role requires a role';
+
ok($foo_class_meta->does_role('FooRole'), '... the FooClass->meta does_role FooRole');
ok(!$foo_class_meta->does_role('OtherRole'), '... the FooClass->meta !does_role OtherRole');