Add a simple unit test for [[!toc]]

master
Simon McVittie 2017-05-16 08:52:39 +01:00
parent 787fb8b058
commit 77df914b3a
1 changed files with 42 additions and 0 deletions

42
t/toc.t 100755
View File

@ -0,0 +1,42 @@
#!/usr/bin/perl
use warnings;
use strict;
use Test::More;
use Encode;
BEGIN { use_ok("IkiWiki"); }
BEGIN { use_ok("IkiWiki::Render"); }
%config=IkiWiki::defaultconfig();
$config{srcdir}=$config{destdir}="/dev/null";
$config{add_plugins}=[qw(toc)];
IkiWiki::loadplugins();
IkiWiki::checkconfig();
sub render {
my $content = shift;
$IkiWiki::pagesources{foo} = "foo.mdwn";
$IkiWiki::pagemtime{foo} = 42;
$IkiWiki::pagectime{foo} = 42;
$content = IkiWiki::filter("foo", "foo", $content);
$content = IkiWiki::preprocess("foo", "foo", $content);
$content = IkiWiki::linkify("foo", "foo", $content);
$content = IkiWiki::htmlize("foo", "foo", "mdwn", $content);
$content = IkiWiki::genpage("foo", $content);
return $content;
}
# https://ikiwiki.info/todo/toc-with-human-readable-anchors/
# (toc-recycle-id part)
like(render('[[!toc ]]
## Weasels
These mustelids are weasilly recognised
<h2 id="the-chapter-on-stoats">Stoats</h2>
These are stoatally different
'),
qr{(?s)<a href="\#index1h2">.*<a href="\#the-chapter-on-stoats">});
done_testing();