App-BoolFindGrep

 view release on metacpan or  search on metacpan

t/app-boolfindgrep.t  view on Meta::CPAN

            }
        }
    }
} ## end foreach my $day (@day)

if ( @tmpfile != @day * @sep * @suffix ) {
    rmdir $tmpdir;
    BAIL_OUT(q(Can't create files to test.));
}

my $class = q(App::BoolFindGrep);
use_ok($class) || say q(Bail out!);

my @test = (
    {   literal => [
            [ q(test_)  => @day * @suffix, ],    #
            [ q(.tmp)   => @day * @sep, ],       #
            [ q(-1970-) => @day * @suffix, ],    #
        ],
    },
    {   glob => [

            [ q(*) => 0 + @tmpfile, ],           #
            [ sprintf( q(test[%s]*), join q(), @sep ) => 0 + @tmpfile, ],    #
            [ q(*.tmp) => @day * @sep, ],                                   #
            [ sprintf( q(*.{%s}), join q(,), @suffix ) => 0 + @tmpfile, ],  #
            [   sprintf( q([%s]1970-??-[0-9][0-9].*), join q(), @sep ) => 0
                    + @tmpfile,
            ],
         ],
    },
    {   regexp => [
            [ q(.*)          => 0 + @tmpfile, ],                            #
            [ q(1970[\d-]+)  => 0 + @tmpfile, ],                            #
            [ q(dat|tmp|txt) => 0 + @tmpfile, ],                            #
        ],
    },
);

foreach my $test (@test) {
    my $find_type = ( keys %$test )[0];
    foreach my $expr ( @{ $test->{$find_type} } ) {
        my ( $file_expr, $sum_files ) = @$expr;
        my $obj = $class->new(
            directory => [$tmpdir],                                         #
            find_type => $find_type,                                        #
            file_expr => $file_expr,                                        #
        );
        $obj->process();
        my $found_files = 0 + @{ $obj->found_files() };
        my $test_name = qq(find_type=>'$find_type', file_expr=>'$file_expr');
        cmp_ok( $sum_files, q(==), $found_files, $test_name ) or die;
    }
} ## end foreach my $test (@test)

remove_tree $tmpdir;
done_testing();

# Local Variables:
# mode: perl
# coding: utf-8-unix
# End:



( run in 2.271 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )