diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-07-23 18:14:20 -0400 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-07-23 18:14:20 -0400 |
commit | 4691a2ad39cce273231fddd9a589b4f8fdc1b063 (patch) | |
tree | ff28f45d29dc3864d20298941e4389bd10f7e7f0 /t | |
parent | 96dab37a8e3acc58fb0ab5be0657c0e545e9684a (diff) | |
download | ikiwiki-4691a2ad39cce273231fddd9a589b4f8fdc1b063.tar ikiwiki-4691a2ad39cce273231fddd9a589b4f8fdc1b063.tar.gz |
add renamepage hooks
Implemented for regular wikilinks, with a test suite.
Diffstat (limited to 't')
-rwxr-xr-x | t/renamepage.t | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/t/renamepage.t b/t/renamepage.t new file mode 100755 index 000000000..ce62bf468 --- /dev/null +++ b/t/renamepage.t @@ -0,0 +1,42 @@ +#!/usr/bin/perl +use warnings; +use strict; +use Test::More tests => 11; +use Encode; + +BEGIN { use_ok("IkiWiki"); } +BEGIN { use_ok("IkiWiki::Plugin::link"); } + +%config=IkiWiki::defaultconfig(); +$config{srcdir}=$config{destdir}="/dev/null"; +IkiWiki::checkconfig(); + +# tests of the link plugin's renamepage function +sub try { + my ($page, $oldpage, $newpage, $content)=@_; + + %IkiWiki::pagecase=(); + %links=(); + $IkiWiki::config{userdir}="foouserdir"; + foreach my $page ($page, $oldpage, $newpage) { + $IkiWiki::pagecase{lc $page}=$page; + $links{$page}=[]; + } + + IkiWiki::Plugin::link::renamepage( + page => $page, + oldpage => $oldpage, + newpage => $newpage, + content => $content, + ); +} +is(try("z", "foo" => "bar", "[[xxx]]"), "[[xxx]]"); # unrelated link +is(try("z", "foo" => "bar", "[[bar]]"), "[[bar]]"); # link already to new page +is(try("z", "foo" => "bar", "[[foo]]"), "[[bar]]"); # basic conversion to new page name +is(try("z", "foo" => "bar", "[[/foo]]"), "[[/bar]]"); # absolute link +is(try("z", "foo" => "bar", "[[foo]] [[xxx]]"), "[[bar]] [[xxx]]"); # 2 links, 1 converted +is(try("z", "foo" => "bar", "[[xxx|foo]]"), "[[xxx|bar]]"); # conversion w/text +is(try("z", "foo" => "bar", "[[foo#anchor]]"), "[[bar#anchor]]"); # with anchor +is(try("z", "foo" => "bar", "[[xxx|foo#anchor]]"), "[[xxx|bar#anchor]]"); # with anchor +is(try("z", "foo" => "bar", "[[!moo ]]"), "[[!moo ]]"); # preprocessor directive unchanged +is(try("bugs", "bugs/foo" => "wishlist/bar", "[[foo]]"), "[[wishlist/bar]]"); # subpage link |