HTML-Toc
view release on metacpan or search on metacpan
t/propagate.t view on Meta::CPAN
#--- propagate.t --------------------------------------------------------------
# function: Test ToC propagation.
use strict;
use Test::More tests => 10;
use Test::Differences;
use HTML::Toc;
use HTML::TocGenerator;
use HTML::TocInsertor;
my ($output, $content, $filename);
my $toc = HTML::Toc->new;
my $tocGenerator = HTML::TocGenerator->new;
my $tocInsertor = HTML::TocInsertor->new;
$toc->setOptions({
'doLinkToToken' => 0,
'levelIndent' => 0,
'insertionPoint' => 'before <h1>',
'header' => '',
'footer' => '',
});
BEGIN {
# Create test file
$filename = "file$$.htm";
die "$filename is already there" if -e $filename;
open my $file, ">", $filename or die "Can't create $filename: $!";
print $file <<'EOT'; close $file;
<h1>Header</h1>
EOT
}
END {
# Remove test file
unlink($filename) or warn "Can't unlink $filename: $!";
}
#--- 1. propagate -------------------------------------------------------------
$tocInsertor->insert($toc, "<h1>Header</h1>", {'output' => \$output});
eq_or_diff($output, "<ul>\n<li>Header</li>\n</ul><h1>Header</h1>", 'propagate');
#--- 2. propagateFile ---------------------------------------------------------
$tocInsertor->insertIntoFile($toc, $filename, {'output' => \$output});
eq_or_diff($output, "<ul>\n<li>Header</li>\n</ul><h1>Header</h1>\n", 'propagateFile');
#--- 3. doLinkToToken -----------------------------------------------------
$toc->setOptions({'doLinkToToken' => 1});
$tocInsertor->insert($toc, "<h1>Header</h1>", {'output' => \$output});
eq_or_diff("$output\n", <<'EOT', 'doLinkToToken');
<ul>
<li><a href="#h-1">Header</a></li>
</ul><h1><a name="h-1"></a>Header</h1>
EOT
#--- 4. templateAnchorHrefBegin -----------------------------------------------
( run in 0.458 second using v1.01-cache-2.11-cpan-e1769b4cff6 )