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.master
parent
8b3d2ab0bc
commit
c2f621cb1c
|
@ -90,8 +90,9 @@ sub renamepage (@) { #{{{
|
|||
$params{content} =~ s{(?<!\\)$link_regexp}{
|
||||
my $linktext=$2;
|
||||
my $link=$linktext;
|
||||
if (bestlink($page, $2) eq $old) {
|
||||
if (bestlink($page, IkiWiki::linkpage($linktext)) eq $old) {
|
||||
$link=IkiWiki::pagetitle($new, 1);
|
||||
$link=~s/ /_/g;
|
||||
if ($linktext =~ m/.*\/*?[A-Z]/) {
|
||||
# preserve leading cap of last component
|
||||
my @bits=split("/", $link);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/perl
|
||||
use warnings;
|
||||
use strict;
|
||||
use Test::More tests => 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
|
||||
|
|
Loading…
Reference in New Issue