ok( $Caption->check( $Caption->coerce('') ), 'Empty string passes' );
####
use Types::Standard qw( Maybe Str );
use Types::Common::String qw( StrLength );
my $NonEmptyCaption = StrLength[ 1, 10 ];
my $EmptyStr = Str->where( q{ $_ eq '' } );
my $Caption = (Maybe[$NonEmptyCaption])->plus_coercions(
$EmptyStr => 'undef',
);
use Test::More;
ok( $Caption->check('My pic'), 'Good caption passes' );
ok( ! $Caption->check('This is too long'), 'Bad caption fails' );
ok( $Caption->check(undef), 'Undef passes' );
ok( ! $Caption->check([]), 'Arrayref fails' );
is( $Caption->coerce(''), undef, 'Empty string coerced to undef' );
ok( $Caption->check( $Caption->coerce('') ), 'Empty string passes' );
done_testing;
####
perl 11130005-3.pl
ok 1 - Good caption passes
ok 2 - Bad caption fails
ok 3 - Undef passes
ok 4 - Arrayref fails
ok 5 - Empty string coerced to undef
ok 6 - Empty string passes
1..6