4 use Test::More tests => 29;
5 use Mouse::Util ':test';
13 isa => 'Test::Builder',
17 can_ok(Class => 'tb');
20 Class->new(tb => Test::Builder->new);
24 my $class = Class->new;
25 $class->tb(Test::Builder->new);
26 isa_ok($class->tb, 'Test::Builder');
31 } qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' failed with value 3/;
34 my $class = Class->new;
36 } qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' failed with value 3/;
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+\)/;
54 } qr/Attribute \(oops\) does not pass the type constraint because: Validation failed for 'Int' failed with value yikes/;
57 Other->new(oops => 10);
60 # ClassName coverage tests
73 our @ISA = 'Mouse::Object';
88 package ClassNameTests;
97 for ('A'..'E', 'G::H') {
99 ClassNameTests->new(class => $_);
103 my $obj = ClassNameTests->new;
108 for ('F', 'G', 'I', 'Z') {
110 ClassNameTests->new(class => $_);
111 } qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value $_/;
114 my $obj = ClassNameTests->new;
116 } qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value $_/;