test suite and partial fix for encoding issues in link renaming
parent
1dec41278d
commit
8b3d2ab0bc
|
@ -91,7 +91,7 @@ sub renamepage (@) { #{{{
|
||||||
my $linktext=$2;
|
my $linktext=$2;
|
||||||
my $link=$linktext;
|
my $link=$linktext;
|
||||||
if (bestlink($page, $2) eq $old) {
|
if (bestlink($page, $2) eq $old) {
|
||||||
$link=$new;
|
$link=IkiWiki::pagetitle($new, 1);
|
||||||
if ($linktext =~ m/.*\/*?[A-Z]/) {
|
if ($linktext =~ m/.*\/*?[A-Z]/) {
|
||||||
# preserve leading cap of last component
|
# preserve leading cap of last component
|
||||||
my @bits=split("/", $link);
|
my @bits=split("/", $link);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
use Test::More tests => 15;
|
use Test::More tests => 20;
|
||||||
use Encode;
|
use Encode;
|
||||||
|
|
||||||
BEGIN { use_ok("IkiWiki"); }
|
BEGIN { use_ok("IkiWiki"); }
|
||||||
|
@ -43,3 +43,8 @@ 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", "[[xxx|foo#anchor]]"), "[[xxx|bar#anchor]]"); # with anchor
|
||||||
is(try("z", "foo" => "bar", "[[!moo ]]"), "[[!moo ]]"); # preprocessor directive unchanged
|
is(try("z", "foo" => "bar", "[[!moo ]]"), "[[!moo ]]"); # preprocessor directive unchanged
|
||||||
is(try("bugs", "bugs/foo" => "wishlist/bar", "[[foo]]"), "[[wishlist/bar]]"); # subpage link
|
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__".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
|
||||||
|
|
Loading…
Reference in New Issue