use strict;
use warnings;
use Test::More tests => 5;
use Path::Class::Dir;
use_ok('SWISH::Prog::Native::Indexer');
SKIP: {
eval "use SWISH::Prog::Aggregator::Mail";
if ($@) {
diag "install Mail::Box to test Mail aggregator";
skip "mail test requires Mail::Box", 4;
}
# is executable present?
my $indexer
= SWISH::Prog::Native::Indexer->new( 'invindex' => 't/mail.index' );
if ( !$indexer->swish_check ) {
skip "swish-e not installed", 4;
}
# maildir requires these dirs but makemaker won't package them
my @dirs;
for my $dirname (qw( cur tmp new )) {
my $dir = Path::Class::Dir->new( 't', 'maildir', $dirname );
$dir->mkpath;
push( @dirs, $dir );
}
ok( my $mail = SWISH::Prog::Aggregator::Mail->new(
indexer => $indexer,
verbose => $ENV{PERL_DEBUG},
),
"new mail aggregator"
);
ok( $mail->indexer->start, "start" );
is( $mail->crawl('t/maildir'), 1, "crawl" );
ok( $mail->indexer->finish, "finish" );
# clean up
for my $dir (@dirs) {
$dir->remove();
}
}