my
$search_cgi_orig_path
= catfile(
qw( sample search.cgi )
);
my
$indexer_pl_orig_path
= catfile(
qw( sample indexer.pl )
);
my
$blib_arch
= catdir(
qw( blib arch )
);
my
$blib_lib
= catdir(
qw( blib lib )
);
my
@inc_dirs
=
map
{
"use lib '$_';"
} (
$blib_arch
,
$blib_lib
,
@INC
);
my
$use_dirs
=
join
(
"\n"
,
@inc_dirs
);
for
my
$filename
(
qw( search.cgi indexer.pl )
) {
my
$orig_path
= catfile(
'sample'
,
$filename
);
open
(
my
$fh
,
'<'
,
$orig_path
) or
die
"Can't open $orig_path: $!"
;
my
$content
=
do
{
local
$/; <
$fh
> };
close
$fh
or
die
"Close failed: $!"
;
$content
=~ s/(path_to_index\s+=\s+).*?;/$1
'_sample_index'
;/
or
die
"no match"
;
my
$uscon_source
= catdir(
qw( sample us_constitution )
);
$content
=~ s/(uscon_source\s+=\s+).*?;/$1
'$uscon_source'
;/;
$content
=~ s/^
use
/
$use_dirs
;\nuse/m;
open
(
$fh
,
'>'
,
"_$filename"
) or
die
$!;
print
$fh
$content
;
close
$fh
or
die
"Close failed: $!"
;
}
`$^X _indexer.pl 2>&1`;
my
$html
= `$^X -T _search.cgi
q=congress`;
$html =
~ s
$html
=~ s/\s+/ /g;
ok(
$html
=~ /Results 1-10 of 31/,
"indexing and search succeeded"
);
END {
unlink
(
'_indexer.pl'
);
unlink
(
'_search.cgi'
);
rmtree(
"_sample_index"
);
}