From: Rafael Kitover Date: Sat, 22 Aug 2009 16:51:46 +0000 (-0400) Subject: release X-Git-Tag: 0.18^0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-Types.git;a=commitdiff_plain;h=86a2a6b81a7a77f903bb60abc6cb7e806f147d3d release --- 86a2a6b81a7a77f903bb60abc6cb7e806f147d3d diff --cc Changes index 412812d,65c96ee..38696df --- a/Changes +++ b/Changes @@@ -1,7 -1,5 +1,8 @@@ Revision history for MooseX-Types - - fix coercions on parameterized types (Rafael Kitover) ++0.18 Sat Aug 22 12:50:42 EDT 2009 ++ - fix coercions on parameterized types (Hans Dieter Pearcey). + 0.17 Tue Aug 18 02:32:31 EDT 2009 - Documentation typo fix (Dave Rolsky). - Stop blowing up in has_available_type_export if the introspected code diff --cc lib/MooseX/Types.pm index 9528d36,6b47318..1b12bc2 --- a/lib/MooseX/Types.pm +++ b/lib/MooseX/Types.pm @@@ -20,7 -20,7 +20,7 @@@ use Scalar::Util ' use namespace::clean -except => [qw( meta )]; use 5.008; --our $VERSION = '0.17'; ++our $VERSION = '0.18'; my $UndefMsg = q{Action for type '%s' not yet defined in library '%s'}; =head1 SYNOPSIS @@@ -591,6 -593,6 +593,8 @@@ caelum: Rafael Kitover ++hdp: Hans Dieter Pearcey ++ =head1 COPYRIGHT & LICENSE Copyright (c) 2007-2009 Robert Sedlacek diff --cc t/21_coerce_parameterized_types.t index 08df149,dbbd5d2..31e4c8c --- a/t/21_coerce_parameterized_types.t +++ b/t/21_coerce_parameterized_types.t @@@ -7,10 -7,10 +7,12 @@@ use Test::More tests => 2 BEGIN { package TypeLib; - use MooseX::Types -declare => [qw/MyChar MyDigit ArrayRefOfMyCharOrDigit/]; - use MooseX::Types -declare => [qw/MyType ArrayRefOfMyType/]; - use MooseX::Types::Moose qw/ArrayRef Str/; ++ use MooseX::Types -declare => [qw/ ++ MyChar MyDigit ArrayRefOfMyCharOrDigit ++ /]; + use MooseX::Types::Moose qw/ArrayRef Str Int/; - subtype MyType, as Str, where { + subtype MyChar, as Str, where { length == 1 }; @@@ -32,11 -28,11 +34,13 @@@ { package AClass; use Moose; - BEGIN { TypeLib->import(qw/MyChar MyDigit ArrayRefOfMyCharOrDigit/) }; - BEGIN { TypeLib->import(qw/MyType ArrayRefOfMyType/) }; ++ BEGIN { TypeLib->import(qw/ ++ MyChar MyDigit ArrayRefOfMyCharOrDigit/ ++ ) }; use MooseX::Types::Moose 'ArrayRef'; - has parameterized => (is => 'rw', isa => ArrayRef[MyType], coerce => 1); - has subtype => (is => 'rw', isa => ArrayRefOfMyType, coerce => 1); + has parameterized => (is => 'rw', isa => ArrayRef[MyChar|MyDigit], coerce => 1); - has subtype => (is => 'rw', isa => ArrayRefOfMyCharOrDigit, coerce => 1); ++ has subtype_parameterized => (is => 'rw', isa => ArrayRefOfMyCharOrDigit, coerce => 1); } my $instance = AClass->new; @@@ -44,4 -40,4 +48,5 @@@ lives_ok { $instance->parameterized('foo') } 'coercion applied to parameterized type'; --lives_ok { $instance->subtype('foo') } 'coercion applied to subtype'; ++lives_ok { $instance->subtype_parameterized('foo') } ++ 'coercion applied to subtype';