Improve tests
[gitmo/Mouse.git] / t / 039-subtype.t
index 2894d1e..755c405 100644 (file)
@@ -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('');