X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F039-subtype.t;h=755c40514101104e497176b18e63c72962797ba6;hb=66e667af8fad903adf5064bdcf5d09f719429f65;hp=2894d1e272991429c7818ccfdd83939612df3dbe;hpb=a68fed5d09926e438f29242e1114b902f8cf324e;p=gitmo%2FMouse.git diff --git a/t/039-subtype.t b/t/039-subtype.t index 2894d1e..755c405 100644 --- a/t/039-subtype.t +++ b/t/039-subtype.t @@ -1,9 +1,11 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 2; +use Test::More tests => 7; use Test::Exception; +use Mouse::Util::TypeConstraints; + do { package My::Class; use Mouse; @@ -22,8 +24,14 @@ do { ok(My::Class->new(name => 'foo')); -TODO: { - local $TODO = "message is not used"; - throws_ok { My::Class->new(name => '') } qr/^Attribute \(name\) does not pass the type constraint because: The string is empty!/; -}; +throws_ok { My::Class->new(name => '') } qr/^Attribute \(name\) does not pass the type constraint because: The string is empty!/; + +my $st = subtype as 'Str', where{ length }; + +ok $st->is_a_type_of('Str'); +ok!$st->is_a_type_of('NoemptyStr'); + +ok $st->check('Foo'); +ok!$st->check(undef); +ok!$st->check('');