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
|
######################################################################
# Test suite for Perldoc::Search
# by Mike Schilli <cpan@perlmeister.com>
######################################################################
use warnings;
use strict;
use Test::More qw(no_plan);
use File::Temp qw(tempdir);
BEGIN { use_ok('Perldoc::Search') };
my $tempdir = tempdir(CLEANUP => 1);
mkdir "$tempdir/adm" or die "Cannot mkdir ($!)";
mkdir "$tempdir/data" or die "Cannot mkdir ($!)";
my $searcher = Perldoc::Search->new(
dirs => ["$tempdir/data"],
swish_options => {
swish_adm_dir => "$tempdir/adm",
}
);
blurt("abc def ghi", "$tempdir/data/file1");
blurt("abc def jkl", "$tempdir/data/file2");
ok($searcher->update(), "Updating index");
my $hits = join "-", map { $_->path() } $searcher->search("ghi");
like($hits, qr/file1/, "Query");
unlike($hits, qr/file2/, "Query");
$hits = join "-", map { $_->path() } $searcher->search("jkl");
unlike($hits, qr/file1/, "Query");
like($hits, qr/file2/, "Query");
$hits = join "-", map { $_->path() } $searcher->search("abc AND def");
like($hits, qr/file1/, "Query");
like($hits, qr/file2/, "Query");
#################
sub blurt {
#################
my($data, $file) = @_;
open FILE, ">$file" or die "Cannot open $file ($!)";
print FILE $data;
close FILE;
}
|