Implement strict constructors, which will warn unkown constructor arguments
[gitmo/Mouse.git] / t / 001_mouse / 061-metaclass-compatibility.t
CommitLineData
aebf20a5 1#!perl
2use strict;
3use warnings;
aebf20a5 4
aebf20a5 5use Test::More tests => 4;
6
7use Mouse::Util qw(does_role);
8
9{
10 package FooTrait;
11 use Mouse::Role;
12
13 package BarTrait;
14 use Mouse::Role;
15
16 package BaseClass;
17 use Mouse -traits => qw(FooTrait);
18
19 package SubClass;
20 use Mouse -traits => qw(BarTrait);
21
22 extends qw(BaseClass);
23}
24
25ok does_role(BaseClass->meta, 'FooTrait'), ' BaseClass->meta->does("FooTrait")';
26ok!does_role(BaseClass->meta, 'BarTrait'), '!BaseClass->meta->does("BarTrait")';
27
28ok does_role(SubClass->meta, 'FooTrait'), 'SubClass->meta->does("FooTrait")';
29ok does_role(SubClass->meta, 'BarTrait'), 'SubClass->meta->does("BarTrait")';
30