Commit | Line | Data |
59074598 |
1 | use strictures 1; |
2 | use Test::More; |
3 | |
4 | use Moose::Util::TypeConstraints qw(find_type_constraint); |
5 | |
6 | { |
7 | package TestRole; |
8 | use Moo::Role; |
9 | } |
10 | |
11 | { |
12 | package TestClass; |
13 | use Moo; |
14 | |
15 | with 'TestRole'; |
16 | } |
17 | |
18 | my $o = TestClass->new; |
19 | |
20 | foreach my $name (qw(TestClass TestRole)) { |
21 | ok !find_type_constraint($name), "No $name constraint created without Moose loaded"; |
22 | } |
23 | note "Loading Moose"; |
24 | require Moose; |
25 | |
26 | foreach my $name (qw(TestClass TestRole)) { |
27 | my $tc = find_type_constraint($name); |
28 | isa_ok $tc, 'Moose::Meta::TypeConstraint', "$name constraint" |
29 | and ok $tc->check($o), "TestClass object passes $name constraint"; |
30 | } |
31 | |
32 | done_testing; |