use lib 't', 'lib'; use strict; use warnings; use Test::More tests => 30; use IO::All; use IO_All_Test; my $expected1 = 't/mydir/dir1;t/mydir/dir2;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected2 = 't/mydir/dir1;t/mydir/dir1/dira;t/mydir/dir1/file1;t/mydir/dir2;t/mydir/dir2/file1;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected3 = 't/mydir/dir1;t/mydir/dir1/dira;t/mydir/dir1/dira/dirx;t/mydir/dir1/file1;t/mydir/dir2;t/mydir/dir2/file1;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected4 = 't/mydir/dir1;t/mydir/dir1/dira;t/mydir/dir1/dira/dirx;t/mydir/dir1/dira/dirx/file1;t/mydir/dir1/file1;t/mydir/dir2;t/mydir/dir2/file1;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected_files1 = 't/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected_files2 = 't/mydir/dir1/file1;t/mydir/dir2/file1;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected_files4 = 't/mydir/dir1/dira/dirx/file1;t/mydir/dir1/file1;t/mydir/dir2/file1;t/mydir/file1;t/mydir/file2;t/mydir/file3'; my $expected_dirs1 = 't/mydir/dir1;t/mydir/dir2'; my $expected_dirs2 = 't/mydir/dir1;t/mydir/dir1/dira;t/mydir/dir2'; my $expected_dirs3 = 't/mydir/dir1;t/mydir/dir1/dira;t/mydir/dir1/dira/dirx;t/mydir/dir2'; my $expected_filt1 = 't/mydir/dir1/dira;t/mydir/dir1/dira/dirx'; my $expected_filt2 = 't/mydir/dir1/dira/dirx'; sub prep { join ';', grep { not /CVS|\.svn/ } @_ } is(prep(io('t/mydir')->all), f$expected1); is(prep(io('t/mydir')->all(1)), f$expected1); is(prep(io('t/mydir')->all(2)), f$expected2); is(prep(io('t/mydir')->all(3)), f$expected3); is(prep(io('t/mydir')->all(4)), f$expected4); is(prep(io('t/mydir')->all(5)), f$expected4); is(prep(io('t/mydir')->all(0)), f$expected4); is(prep(io('t/mydir')->All), f$expected4); is(prep(io('t/mydir')->deep->all), f$expected4); is(prep(io('t/mydir')->all_files), f$expected_files1); is(prep(io('t/mydir')->all_files(1)), f$expected_files1); is(prep(io('t/mydir')->all_files(2)), f$expected_files2); is(prep(io('t/mydir')->all_files(3)), f$expected_files2); is(prep(io('t/mydir')->all_files(4)), f$expected_files4); is(prep(io('t/mydir')->all_files(5)), f$expected_files4); is(prep(io('t/mydir')->all_files(0)), f$expected_files4); is(prep(io('t/mydir')->All_Files), f$expected_files4); is(prep(io('t/mydir')->deep->all_files), f$expected_files4); is(prep(io('t/mydir')->All_Files(2)), f$expected_files4); is(prep(io('t/mydir')->all_dirs), f$expected_dirs1); is(prep(io('t/mydir')->all_dirs(1)), f$expected_dirs1); is(prep(io('t/mydir')->all_dirs(2)), f$expected_dirs2); is(prep(io('t/mydir')->all_dirs(3)), f$expected_dirs3); is(prep(io('t/mydir')->all_dirs(4)), f$expected_dirs3); is(prep(io('t/mydir')->all_dirs(5)), f$expected_dirs3); is(prep(io('t/mydir')->all_dirs(0)), f$expected_dirs3); is(prep(io('t/mydir')->All_Dirs), f$expected_dirs3); is(prep(io('t/mydir')->deep->all_dirs), f$expected_dirs3); is(prep(io('t/mydir')->filter(sub {/dira/})->All_Dirs), f$expected_filt1); is(prep(io('t/mydir')->filter(sub {/x/})->All_Dirs), f$expected_filt2);