X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F05-pod-examples.t;h=0fd80ec8c354b0e7b2ac1fab272fb41adcc339e5;hb=2d8c1bf6b2fb0430a52b5d281f61e3d99872e9b9;hp=c6aca8880bc20788ca5f80eb0adb136f7ed35bd1;hpb=3b297820d0ac1e9bd68d20d0605a5063e4bed7d8;p=gitmo%2FMooseX-Dependent.git diff --git a/t/05-pod-examples.t b/t/05-pod-examples.t index c6aca88..0fd80ec 100644 --- a/t/05-pod-examples.t +++ b/t/05-pod-examples.t @@ -3,17 +3,12 @@ use warnings; use Test::More; -eval "use Set::Scalar"; if($@) { - plan skip_all => 'Set::Scalar not installed'; -} - - { package Test::MooseX::Types::Parameterizable::Synopsis; use Moose; use MooseX::Types::Parameterizable qw(Parameterizable); - use MooseX::Types::Moose qw(Str Int); + use MooseX::Types::Moose qw(Str Int ArrayRef); use MooseX::Types -declare=>[qw(Varchar)]; ## Create a type constraint that is a string but parameterizes an integer @@ -28,6 +23,13 @@ eval "use Set::Scalar"; if($@) { }, message { "'$_' is too long" }; + coerce Varchar, + from ArrayRef, + via { + my ($arrayref, $int) = @_; + join('', @$arrayref); + }; + my $varchar_five = Varchar[5]; Test::More::ok $varchar_five->check('four'); @@ -38,7 +40,7 @@ eval "use Set::Scalar"; if($@) { Test::More::ok $varchar_ten->check( 'X' x 9 ); Test::More::ok ! $varchar_ten->check( 'X' x 12 ); - has varchar_five => (isa=>Varchar[5], is=>'ro'); + has varchar_five => (isa=>$varchar_five, is=>'ro', coerce=>1); has varchar_ten => (isa=>Varchar[10], is=>'ro'); my $object1 = __PACKAGE__->new(