6 use Test::More tests => 2;
10 use MooseX::Types -declare => [qw/
11 MyChar MyDigit ArrayRefOfMyCharOrDigit
13 use MooseX::Types::Moose qw/ArrayRef Str Int/;
15 subtype MyChar, as Str, where {
19 subtype MyDigit, as Int, where {
23 coerce ArrayRef[MyChar|MyDigit], from Str, via {
27 # same thing with an explicit subtype
28 subtype ArrayRefOfMyCharOrDigit, as ArrayRef[MyChar|MyDigit];
30 coerce ArrayRefOfMyCharOrDigit, from Str, via {
37 BEGIN { TypeLib->import(qw/
38 MyChar MyDigit ArrayRefOfMyCharOrDigit/
40 use MooseX::Types::Moose 'ArrayRef';
42 has parameterized => (is => 'rw', isa => ArrayRef[MyChar|MyDigit], coerce => 1);
43 has subtype_parameterized => (is => 'rw', isa => ArrayRefOfMyCharOrDigit, coerce => 1);
46 my $instance = AClass->new;
48 { local $TODO = "see comments in MooseX::Types->create_arged_...";
49 lives_ok { $instance->parameterized('foo') }
50 'coercion applied to parameterized type';
53 lives_ok { $instance->subtype_parameterized('foo') }
54 'coercion applied to subtype';