]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - t/renamepage.t
po: pages in underlay dirs are not translatable
[git.ikiwiki.info.git] / t / renamepage.t
index b16ca3d23b585cfe4d3b0a7ce564f244a9c40020..0aa3a1c9fda8b127446516490429de1b2c01f164 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 use warnings;
 use strict;
 #!/usr/bin/perl
 use warnings;
 use strict;
-use Test::More tests => 14;
+use Test::More tests => 21;
 use Encode;
 
 BEGIN { use_ok("IkiWiki"); }
 use Encode;
 
 BEGIN { use_ok("IkiWiki"); }
@@ -11,7 +11,7 @@ BEGIN { use_ok("IkiWiki::Plugin::link"); }
 $config{srcdir}=$config{destdir}="/dev/null";
 IkiWiki::checkconfig();
 
 $config{srcdir}=$config{destdir}="/dev/null";
 IkiWiki::checkconfig();
 
-# tests of the link plugin's renamepage function
+# tests of the link plugin's renamelink function
 sub try {
        my ($page, $oldpage, $newpage, $content)=@_;
 
 sub try {
        my ($page, $oldpage, $newpage, $content)=@_;
 
@@ -23,7 +23,7 @@ sub try {
                $links{$page}=[];
        }
 
                $links{$page}=[];
        }
 
-       IkiWiki::Plugin::link::renamepage(
+       IkiWiki::Plugin::link::renamelink(
                        page => $page, 
                        oldpage => $oldpage,
                        newpage => $newpage,
                        page => $page, 
                        oldpage => $oldpage,
                        newpage => $newpage,
@@ -35,6 +35,7 @@ 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]]"), "[[Bar]]"); # preserve case
 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]]"), "[[Bar]]"); # preserve case
+is(try("z", "x/foo" => "x/bar", "[[x/Foo]]"), "[[x/Bar]]"); # preserve case of subpage
 is(try("z", "foo" => "bar", "[[/Foo]]"), "[[/Bar]]"); # preserve case w/absolute
 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]]"), "[[/Bar]]"); # preserve case w/absolute
 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
@@ -42,3 +43,9 @@ 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
 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
+is(try("z", "foo_bar" => "bar", "[[foo_bar]]"), "[[bar]]"); # old link with underscore
+is(try("z", "foo" => "bar_foo", "[[foo]]"), "[[bar_foo]]"); # new link with underscore
+is(try("z", "foo_bar" => "bar_foo", "[[foo_bar]]"), "[[bar_foo]]"); # both with underscore
+is(try("z", "foo" => "bar__".ord("(")."__", "[[foo]]"), "[[bar(]]"); # new link with escaped chars
+is(try("z", "foo__".ord("(")."__" => "bar(", "[[foo(]]"), "[[bar(]]"); # old link with escaped chars
+is(try("z", "foo__".ord("(")."__" => "bar__".ord(")")."__", "[[foo(]]"), "[[bar)]]"); # both with escaped chars