HTML-Toc

 view release on metacpan or  search on metacpan

t/insert.t  view on Meta::CPAN

#--- insert.t -----------------------------------------------------------------
# function: Test ToC insertion.

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,
	'header'            => "",
	'footer'            => "",
});


BEGIN {
		# Create test file
	$filename = "file$$.htm";
	die "$filename is already there" if -e $filename;
	open(FILE, ">$filename") || die "Can't create $filename: $!";
	print FILE <<'HTML'; close(FILE);
<h1>Header</h1>
HTML
}


END {
		# Remove test file
	unlink($filename) or warn "Can't unlink $filename: $!";
}


#--- 1. insert before start ---------------------------------------------------

$toc->setOptions({'insertionPoint' => 'before <h1>'});
	# Generate ToC
$tocGenerator->generate($toc, "<h1>Header</h1>");
$tocInsertor->insert($toc, "<h1>Header</h1>", {
	'output'        => \$output,
	'doGenerateToc' => 0
});
	# Test ToC
eq_or_diff($output, "<ul>\n<li>Header</li>\n</ul><h1>Header</h1>", 'insert before start');


#--- 2. insert after start ----------------------------------------------------

$toc->setOptions({'insertionPoint' => 'after <h1>'});
	# Generate ToC
$tocGenerator->generate($toc, "<h1>Header</h1>");
$tocInsertor->insert($toc, "<h1>Header</h1>", {
	'output' => \$output,
	'doGenerateToc' => 0
});
	# Test ToC
eq_or_diff($output, "<h1><ul>\n<li>Header</li>\n</ul>Header</h1>", 'insert after start');



( run in 0.443 second using v1.01-cache-2.11-cpan-e1769b4cff6 )