X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/55cc22939f4ac497cc08f25c51a510a5cddef168..d245567765f54ccebd9e44a9592014989d034871:/t/bestlink.t?ds=sidebyside diff --git a/t/bestlink.t b/t/bestlink.t index ed748b0f2..0020a05e2 100755 --- a/t/bestlink.t +++ b/t/bestlink.t @@ -1,24 +1,33 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 5; +use Test::More tests => 11; + +BEGIN { use_ok("IkiWiki"); } sub test ($$$) { my $page=shift; my $link=shift; my @existing_pages=@{shift()}; - %IkiWiki::links=(); + %IkiWiki::pagecase=(); + %pagesources=(); + $IkiWiki::config{userdir}="foouserdir"; foreach my $page (@existing_pages) { - $IkiWiki::links{$page}=[]; + $IkiWiki::pagecase{lc $page}=$page; + $pagesources{$page}="$page.mdwn"; } - return IkiWiki::bestlink($page, $link); + return bestlink($page, $link); } -BEGIN { use_ok("IkiWiki"); } - is(test("bar", "foo", ["bar"]), "", "broken link"); is(test("bar", "foo", ["bar", "foo"]), "foo", "simple link"); +is(test("bar", "FoO", ["bar", "foo"]), "foo", "simple link with different input case"); +is(test("bar", "foo", ["bar", "fOo"]), "fOo", "simple link with different page case"); +is(test("bar", "FoO", ["bar", "fOo"]), "fOo", "simple link with different page and input case"); +is(test("bar", "Foo", ["bar", "fOo", "foo", "fOO", "Foo", "fOo"]), "Foo", "in case of ambiguity, like case wins"); is(test("bar", "foo", ["bar", "foo", "bar/foo"]), "bar/foo", "simple subpage link"); is(test("bar", "foo/subpage", ["bar", "foo", "bar/subpage", "foo/subpage"]), "foo/subpage", "cross subpage link"); +is(test("bar", "bob", ["bar", "foo", "foouserdir/bob"]), "foouserdir/bob", "user link"); +is(test("bar", "bob", ["bar", "foo", "bob", "foouserdir/bob"]), "bob", "non-user link");