#!/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;
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('');
+