X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F900_mouse_bugs%2F011_RT61852.t;fp=t%2F900_mouse_bugs%2F011_RT61852.t;h=1ce0abeb910e26931c4f9dee09ae24b81af6bfe9;hb=7e030e4515771aa9117a8d1ca04d6afe028b7a9b;hp=0000000000000000000000000000000000000000;hpb=bdf225bbcd670b28b2ddd59aaa2fb5ebbd63e4a3;p=gitmo%2FMouse.git diff --git a/t/900_mouse_bugs/011_RT61852.t b/t/900_mouse_bugs/011_RT61852.t new file mode 100644 index 0000000..1ce0abe --- /dev/null +++ b/t/900_mouse_bugs/011_RT61852.t @@ -0,0 +1,31 @@ +#!perl +# https://rt.cpan.org/Public/Bug/Display.html?id=61852 +use strict; +use warnings; +use Test::More; +{ + package X; + use Mouse; + use Mouse::Util::TypeConstraints; + + subtype 'List' + => as 'ArrayRef[Any]' + => where { + foreach my $item(@{$_}) { + defined($item) or return 0; + } + return 1; + }; + + has 'list' => ( + is => 'ro', + isa => 'List', + ); +} + +eval { X->new(list => [ 1, 2, 3 ]) }; +is $@, ''; + +eval { X->new(list => [ 1, undef, 3 ]) }; +like $@, qr/Validation[ ]failed[ ]for[ ]'List'/xms; +done_testing;