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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
BEGIN {
use File::Spec::Functions ':ALL';
@INC = map { rel2abs($_) }
(qw| ./lib ./t/lib ../../lib |);
}
use strict;
use warnings;
use Test::More;
use Testing qw( setup_testing_dir xconvert );
use Cwd;
use Pod::Html::Util qw(
unixify
);
my $debug = 0;
my $startdir = cwd();
END { chdir($startdir) or die("Cannot change back to $startdir: $!"); }
my $args;
my $tdir = setup_testing_dir( {
debug => $debug,
} );
my $cwd = unixify(Cwd::cwd());
my $infile = catfile('t', 'cache.pod');
my $outfile = "cacheout.html";
my $cachefile = "pod2htmd.tmp";
my $tcachefile = catfile('t', 'pod2htmd.tmp');
unlink $cachefile, $tcachefile;
is(-f $cachefile, undef, "No cache file to start");
is(-f $tcachefile, undef, "No cache file to start");
# test podpath and podroot
Pod::Html::pod2html(
"--infile=$infile",
"--outfile=$outfile",
"--podpath=scooby:shaggy:fred:velma:daphne",
"--podroot=$cwd",
);
is(-f $cachefile, 1, "Cache created");
open(my $cache, '<', $cachefile) or die "Cannot open cache file: $!";
chomp(my $podpath = <$cache>);
chomp(my $podroot = <$cache>);
close $cache;
is($podpath, "scooby:shaggy:fred:velma:daphne", "podpath");
is($podroot, "$cwd", "podroot");
# test cache contents
Pod::Html::pod2html(
"--infile=$infile",
"--outfile=$outfile",
"--cachedir=t",
"--podpath=t",
"--htmldir=$cwd",
);
is(-f $tcachefile, 1, "Cache created");
open($cache, '<', $tcachefile) or die "Cannot open cache file: $!";
chomp($podpath = <$cache>);
chomp($podroot = <$cache>);
is($podpath, "t", "podpath");
my %pages;
while (<$cache>) {
/(.*?) (.*)$/;
$pages{$1} = $2;
}
chdir("t");
my %expected_pages =
# chop off the .pod and set the path
map { my $f = substr($_, 0, -4); $f => "t/$f" }
<*.pod>;
chdir($cwd);
is_deeply(\%pages, \%expected_pages, "cache contents");
close $cache;
1 while unlink $outfile;
1 while unlink $cachefile;
1 while unlink $tcachefile;
is(-f $cachefile, undef, "No cache file to end");
is(-f $tcachefile, undef, "No cache file to end");
done_testing;
|