X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F02-autocoerce.t;h=ba0549809d6618e83385171e702ec5d67b2420ed;hb=b8f42942311854cb0ef8a3e34c0145846639cd2e;hp=02ab12b35e4fe25676657df6cf60f2eed9114f16;hpb=04443c7fdf4aadc37d87c495aa57f70852b05b83;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/t/02-autocoerce.t b/t/02-autocoerce.t index 02ab12b..ba05498 100644 --- a/t/02-autocoerce.t +++ b/t/02-autocoerce.t @@ -3,23 +3,51 @@ use strict; use warnings; -use Test::More tests => 7 * 4; +use Test::More tests => 3 + 7 * 4; use lib 't/lib'; use LaTeX::TikZ::Meta::TypeConstraint::Autocoerce; +{ + my $tc = eval { + LaTeX::TikZ::Meta::TypeConstraint::Autocoerce->new( + parent => undef, + ); + }; + like $@, qr/^No meta object for undefined parent/, 'Undef parent'; +} + +{ + my $parent = 'LaTeX::TikZ::A::Class::Likely::Not::To::Exist'; + my $tc = eval { + LaTeX::TikZ::Meta::TypeConstraint::Autocoerce->new( + parent => $parent, + ); + }; + like $@, qr/^No meta object for parent \Q$parent\E/, 'Nonexistent parent'; +} + +{ + my $tc = eval { + LaTeX::TikZ::Meta::TypeConstraint::Autocoerce->new( + parent => 'LaTeX::TikZ::Meta::TypeConstraint::Autocoerce', + ); + }; + is $@, '', 'Valid parent'; +} + { package LaTeX::TikZ::TestX; use Any::Moose; - use Any::Moose 'Util::TypeConstraints' => [ qw/ + use Any::Moose 'Util::TypeConstraints' => [ qw< coerce from via find_type_constraint register_type_constraint - / ]; + > ]; has 'id' => ( is => 'ro',