Commit | Line | Data |
305b0c49 |
1 | #!perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | use Test::More tests => 6; |
6 | |
7 | use Mouse::Util::TypeConstraints; |
8 | |
9 | { |
10 | package Foo; |
11 | use Mouse; |
12 | |
13 | has my_class => ( |
14 | is => 'rw', |
15 | isa => 'My::New::Class | Str', |
16 | ); |
17 | } |
18 | my $t = Foo->meta->get_attribute('my_class')->type_constraint; |
19 | |
20 | eval q{ |
21 | package My::New::Class; |
22 | use Mouse; |
23 | package My::New::DerivedClass; |
24 | use Mouse; |
25 | extends 'My::New::Class'; |
26 | }; |
27 | |
28 | isa_ok $t, 'Mouse::Meta::TypeConstraint'; |
29 | ok $t->check(My::New::Class->new); |
30 | ok $t->check(My::New::DerivedClass->new); |
31 | ok $t->check('Foo'); |
32 | ok!$t->check(undef); |
33 | ok!$t->check(bless {}, 'Foo'); |
34 | |