X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xt%2Ftype-inflate.t;fp=xt%2Fmoox-types.t;h=e048fa999c71f91726c15acb698b0a37fd01cdd8;hb=124f20461ca14d95e2e1ba48bd9ebf6d6bb76e47;hp=162ed5d378bbecc12b4575c6ce58692761d78e9f;hpb=b4bd8687ff61164eb721d47158abb19d8482cfa1;p=gitmo%2FMoo.git diff --git a/xt/moox-types.t b/xt/type-inflate.t similarity index 62% rename from xt/moox-types.t rename to xt/type-inflate.t index 162ed5d..e048fa9 100644 --- a/xt/moox-types.t +++ b/xt/type-inflate.t @@ -6,8 +6,30 @@ use Test::More; use Moo::Role; use Sub::Quote; - use MooX::Types::MooseLike::Base qw(Str); - use MooX::Types::MooseLike::Numeric qw(PositiveInt); + use Moo::HandleMoose (); + + sub Str { + my $type = sub { + die unless defined $_[0] && !ref $_[0]; + }; + $Moo::HandleMoose::TYPE_MAP{$type} = sub { + require Moose::Util::TypeConstraints; + Moose::Util::TypeConstraints::find_type_constraint("Str"); + }; + return ($type, @_); + } + sub PositiveInt { + my $type = sub { + die unless defined $_[0] && !ref $_[0] && $_[0] =~ /^-?\d+/; + }; + $Moo::HandleMoose::TYPE_MAP{$type} = sub { + require Moose::Util::TypeConstraints; + require MooseX::Types::Common::Numeric; + Moose::Util::TypeConstraints::find_type_constraint( + "MooseX::Types::Common::Numeric::PositiveInt"); + }; + return ($type, @_); + } has named_type => ( is => 'ro',