230225.2 · fde8a5115cfde60232639bf5ddf333ad34545688
Moved t/internals/* up to t/ because somewhere along the line prove stopped recursing by default
reading declarations
Changes to t/FilterTest.pm. All files
@@ -0,0 +1,52 @@+package FilterTest;++use strict;+use warnings;+use parent 'Exporter';++use App::Ack::File;+use File::Next;+use Util;+use Test::More;++our @EXPORT = qw(filter_test);++sub swamp_files {+ my @swamp_files;++ my $files = File::Next::files( 't/swamp' );+ while ( my $file = $files->() ) {+ push( @swamp_files, $file );+ }++ return @swamp_files;+}++sub filter_test {+ local $Test::Builder::Level = $Test::Builder::Level + 1;++ my $filter_args = shift;+ my $expected_matches = shift;+ my $msg = shift or die 'Must pass a message to filter_test()';++ return subtest "filter_test($msg)" => sub {+ my $filter = eval {+ App::Ack::Filter->create_filter(@{$filter_args});+ };++ ok($filter) or diag($@);++ my @matches = map {+ $_->name+ } grep {+ $filter->filter($_)+ } map {+ App::Ack::File->new($_)+ } swamp_files();++ sets_match(\@matches, $expected_matches, $msg);+ };+}+++1;