#!/usr/bin/env perl
use strict;
use warnings;
-use Test::More tests => 34;
+use Test::More;
use Test::Exception;
do {
isa => 'Test::Builder',
);
+ has obj => (
+ is => 'rw',
+ isa => 'UNIVERSAL',
+ );
+
package Test::Builder::Subclass;
our @ISA = qw(Test::Builder);
};
};
lives_ok {
+ Class->new(obj => Test::Builder->new);
+};
+
+lives_ok {
# Test::Builder was a bizarre choice, because it's a singleton. Because of
# that calling new on T:B:S won't work. Blessing directly -- rjbs,
# 2008-12-04
Class->new(tb => Class->new);
} qr/Attribute \(tb\) does not pass the type constraint because: Validation failed for 'Test::Builder' with value Class=HASH\(\w+\)/;
+throws_ok {
+ Class->new(obj => 42);
+} qr/Attribute \(obj\) does not pass the type constraint because: Validation failed for 'UNIVERSAL' with value 42/;
+
do {
package Other;
use Mouse;
$hs->sausage(Class->new);
} qr/^Attribute \(sausage\) does not pass the type constraint because: Validation failed for 'SausageRole' with value Class=/;
+done_testing;