diff options
Diffstat (limited to 't/filter.t')
-rw-r--r-- | t/filter.t | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/t/filter.t b/t/filter.t new file mode 100644 index 0000000..46333fa --- /dev/null +++ b/t/filter.t @@ -0,0 +1,157 @@ +#!perl + +use warnings; +use strict; + +use Test::More tests => 19; + +use CPAN::Mini; + +my $self = { + changes_made => 1, + force => 1, +}; + +bless $self, "CPAN::Mini"; +################################################ +# skip_perl + +$self->{skip_perl} = 1; + +ok($self->_filter_module({ + module => 'perl', + version => '0.01', + path => '/perl-0.01.tar.gz', +}), "perl distro skip check"); + +ok($self->_filter_module({ + module => 'bioperl', + version => '0.01', + path => '/bioperl-0.01.tar.gz', +}), "bioperl distro skip check"); + +ok($self->_filter_module({ + module => 'embperl', + version => '0.01', + path => '/embperl-0.01.tar.gz', +}), "embperl distro skip check"); + +ok(!$self->_filter_module({ + module => 'notperl', + version => '0.01', + path => '/POE-0.01.tar.gz', +}), "POE distro not-skip check"); + +ok($self->_filter_module({ + module => 'ponie', + version => '0.01', + path => '/ponie-0.01.tar.gz', +}), "ponie distro skip check"); + +ok($self->_filter_module({ + module => 'parrot', + version => '0.01', + path => '/parrot-0.01.tar.gz', +}), "parrot distro skip check"); + +delete $self->{skip_perl}; + +ok(!$self->_filter_module({ + module => 'perl', + version => '0.01', + path => '/perl-0.01.tar.gz', +}), "perl distro no-skip check"); + +################################################ +# path_filters + +$self->{path_filters} = qr/skipme/; + +ok($self->_filter_module({ + module => 'skipme', + version => '0.01', + path => '/skipme-0.01.tar.gz', +}), "path_filters skip check skipme 1"); + +ok(!$self->_filter_module({ + module => 'noskip', + version => '0.01', + path => '/noskip-0.01.tar.gz', +}), "path_filters no-skip check"); + +$self->{path_filters} = [ + qr/skipme/, + qr/burnme/, + sub { return $_[0] =~ /subskip/ } +]; + +ok($self->_filter_module({ + module => 'skipme', + version => '0.01', + path => '/skipme-0.01.tar.gz', +}), "path_filters skip check skipme 2"); + +ok($self->_filter_module({ + module => 'burnme', + version => '0.01', + path => '/burnme-0.01.tar.gz', +}), "path_filters skip check burnme"); + +ok($self->_filter_module({ + module => 'submod', + version => '0.01', + path => '/subskip-0.01.tar.gz', +}), "path_filters skip check (by sub)"); + +ok(!$self->_filter_module({ + module => 'noskip', + version => '0.01', + path => '/noskip-0.01.tar.gz', +}), "path_filters no-skip check"); + +################################################ +# module_filters + +$self->{module_filters} = qr/skipme/; + +ok($self->_filter_module({ + module => 'skipme', + version => '0.01', + path => '/skipme-0.01.tar.gz', +}), "module_filters skip check skipme 1"); + +ok(!$self->_filter_module({ + module => 'noskip', + version => '0.01', + path => '/noskip-0.01.tar.gz', +}), "module_filters no-skip check"); + +$self->{module_filters} = [ + qr/skipme/, + qr/burnme/, + sub { $_[0] =~ /submod/ } +]; + +ok($self->_filter_module({ + module => 'skipme', + version => '0.01', + path => '/skipme-0.01.tar.gz', +}), "module_filters skip check skipme 2"); + +ok($self->_filter_module({ + module => 'burnme', + version => '0.01', + path => '/burnme-0.01.tar.gz', +}), "module_filters skip check burnme"); + +ok($self->_filter_module({ + module => 'submod', + version => '0.01', + path => '/subskip-0.01.tar.gz', +}), "module_filters skip check (by sub)"); + +ok(!$self->_filter_module({ + module => 'noskip', + version => '0.01', + path => '/noskip-0.01.tar.gz', +}), "module_filters no-skip check"); |