2 use warnings FATAL => 'all';
9 use MooseX::Types::Path::Class;
13 isa => 'Path::Class::Dir',
19 isa => 'Path::Class::File',
25 isa => 'ArrayRef[Path::Class::Dir]',
31 isa => 'ArrayRef[Path::Class::File]',
40 use MooseX::Types::Path::Class qw( Dir File );
41 use MooseX::Types::Moose qw(ArrayRef);
63 isa => ArrayRef[File],
74 my $dir = dir('', 'tmp');
75 my $file = file('', 'tmp', 'foo');
79 isa_ok( $o->dir, 'Path::Class::Dir' );
80 cmp_ok( $o->dir, 'eq', "$dir", "dir is $dir" );
81 isa_ok( $o->file, 'Path::Class::File' );
82 cmp_ok( $o->file, 'eq', "$file", "file is $file" );
85 for my $class (qw(Foo Bar)) {
86 my $o = $class->new( dir => "$dir", file => [ '', 'tmp', 'foo' ] );
93 my @dirs = (dir('', 'tmp'), dir('', 'etc'));
94 my @files = (dir('', 'tmp', 'foo'), dir('', 'etc', 'foo'));
96 my $check_arrays = sub {
99 is(scalar($o->dirs), 2, '2 dirs');
100 isa_ok( $_, 'Path::Class::Dir') foreach $o->dirs;
101 cmp_ok( ($o->dirs)->[$_], 'eq', "$dirs[$_]", "dir is $dir" ) foreach (0 .. @dirs);
103 # is(scalar($o->files), 2, '2 files');
104 # isa_ok( $_, 'Path::Class::File' ) foreach $o->files;
106 # cmp_ok( ($o->files)->[$_], 'eq', "$files[$_]", "file is $files[$_]" ) foreach (0.. @files);
109 for my $class (qw(Foo Bar)) {
112 dirs => [ map { "$_" } @dirs ],
113 file => [ map { [ split('/', $_->stringify) ] } @files ],
116 print "### constructing $class with args: ", Dumper(\%args);
119 dirs => [ map { "$_" } @dirs ],
120 # file => [ map { [ split('/', $_->stringify) ] } @files ],
122 isa_ok( $o, $class );