1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
use 5.006;
use strict;
use warnings;
use Test::More 0.92;
use File::Temp;
use File::pushd qw/pushd/;
use lib 't/lib';
use PCNTest;
use PIR;
#--------------------------------------------------------------------------#
{
my $td = make_tree(
qw(
empty/
data/file1.txt
)
);
my ( $iter, @files );
my $rule = PIR->new->file;
$iter = $rule->iter($td);
@files = ();
while ( my $f = $iter->() ) {
push @files, $f;
}
is( scalar @files, 1, "Iterator: one file" ) or diag explain \@files;
is( ref $files[0], '', "Iterator: returns string, not object" );
@files = ();
@files = $rule->all($td);
is( scalar @files, 1, "All: one file" ) or diag explain \@files;
$rule = PIR->new->dir;
@files = ();
@files = map { "$_" } $rule->all($td);
is( scalar @files, 3, "All: 3 directories" ) or diag explain \@files;
my $wd = pushd($td);
@files = ();
@files = map { "$_" } $rule->all();
is( scalar @files, 3, "All w/ cwd: 3 directories" ) or diag explain \@files;
$rule->skip_dirs(qw/data/);
@files = ();
@files = map { "$_" } $rule->all();
is( scalar @files, 2, "All w/ prune: 2 directories" ) or diag explain \@files;
}
done_testing;
#
# This file is part of Path-Iterator-Rule
#
# This software is Copyright (c) 2013 by David Golden.
#
# This is free software, licensed under:
#
# The Apache License, Version 2.0, January 2004
#
|