From 8b3d2ab0bcd5b79c30d6e07dd8f363431d94dd72 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 23 Jul 2008 21:04:11 -0400 Subject: test suite and partial fix for encoding issues in link renaming --- IkiWiki/Plugin/link.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'IkiWiki') diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm index 515a62bce..529610710 100644 --- a/IkiWiki/Plugin/link.pm +++ b/IkiWiki/Plugin/link.pm @@ -91,7 +91,7 @@ sub renamepage (@) { #{{{ my $linktext=$2; my $link=$linktext; if (bestlink($page, $2) eq $old) { - $link=$new; + $link=IkiWiki::pagetitle($new, 1); if ($linktext =~ m/.*\/*?[A-Z]/) { # preserve leading cap of last component my @bits=split("/", $link); -- cgit v1.2.3 From c2f621cb1c2eb8bb898acfbfac059c5ee2d9568e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 24 Jul 2008 12:36:10 -0400 Subject: fix encoding issues with link conversion Have to convert link text to page name going in. And on the way out, need to replace spaces with underscores in the link text, which is not normally done with titles. --- IkiWiki/Plugin/link.pm | 3 ++- t/renamepage.t | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'IkiWiki') diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm index 529610710..2ea6aa19e 100644 --- a/IkiWiki/Plugin/link.pm +++ b/IkiWiki/Plugin/link.pm @@ -90,8 +90,9 @@ sub renamepage (@) { #{{{ $params{content} =~ s{(? 20; +use Test::More tests => 21; use Encode; BEGIN { use_ok("IkiWiki"); } @@ -45,6 +45,7 @@ is(try("z", "foo" => "bar", "[[!moo ]]"), "[[!moo ]]"); # preprocessor directive 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(", "[[foo(]]"), "[[bar(]]"); # old link with escaped chars is(try("z", "foo__".ord("(")."__" => "bar__".ord(")")."__", "[[foo(]]"), "[[bar)]]"); # both with escaped chars -- cgit v1.2.3