Factor out canonicalize_handles into a separate method
[gitmo/Mouse.git] / t / 025-more-isa.t
CommitLineData
3301fa54 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More tests => 7;
5use Test::Exception;
6
7do {
8 package Class;
9 use Mouse;
10
11 has tb => (
12 is => 'rw',
13 isa => 'Test::Builder',
14 );
15};
16
17can_ok(Class => 'tb');
18
19lives_ok {
20 Class->new(tb => Test::Builder->new);
21};
22
23lives_ok {
24 my $class = Class->new;
25 $class->tb(Test::Builder->new);
26 isa_ok($class->tb, 'Test::Builder');
27};
28
29throws_ok {
30 Class->new(tb => 3);
31} qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' failed with value 3/;
32
33throws_ok {
34 my $class = Class->new;
35 $class->tb(3);
36} qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' failed with value 3/;
37
38throws_ok {
39 Class->new(tb => Class->new);
40} qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' failed with value Class=HASH\(\w+\)/;
41