added typeconstraint's customizable error message support.
[gitmo/Mouse.git] / t / 039-subtype.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Test::More tests => 2;
5 use Test::Exception;
6
7 do {
8     package My::Class;
9     use Mouse;
10     use Mouse::Util::TypeConstraints;
11
12     subtype 'NonemptyStr'
13         => as 'Str'
14         => where { length $_ }
15         => message { "The string is empty!" };
16
17     has name => (
18         is  => 'ro',
19         isa => 'NonemptyStr',
20     );
21 };
22
23 ok(My::Class->new(name => 'foo'));
24
25 throws_ok { My::Class->new(name => '') } qr/^Attribute \(name\) does not pass the type constraint because: The string is empty!/;
26