Mouse::Util::does_role() respects $thing->does() method
[gitmo/Mouse.git] / t / 001_mouse / 052-undefined-type-in-union.t
CommitLineData
305b0c49 1#!perl
2
3use strict;
4use warnings;
718b5d9b 5use Test::More skip_all => 'suspending';
6use Test::More;
305b0c49 7
8use Mouse::Util::TypeConstraints;
9
10{
11 package Foo;
12 use Mouse;
13
14 has my_class => (
15 is => 'rw',
16 isa => 'My::New::Class | Str',
17 );
18}
19my $t = Foo->meta->get_attribute('my_class')->type_constraint;
20
21eval q{
22 package My::New::Class;
23 use Mouse;
24 package My::New::DerivedClass;
25 use Mouse;
26 extends 'My::New::Class';
27};
28
29isa_ok $t, 'Mouse::Meta::TypeConstraint';
30ok $t->check(My::New::Class->new);
31ok $t->check(My::New::DerivedClass->new);
32ok $t->check('Foo');
33ok!$t->check(undef);
34ok!$t->check(bless {}, 'Foo');
35
718b5d9b 36done_testing;