* The last release accidentially installed ikiwiki as ikiwiki.pl, now fixed.
[ikiwiki] / t / bestlink.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use Test::More tests => 8;
5
6 sub test ($$$) {
7         my $page=shift;
8         my $link=shift;
9         my @existing_pages=@{shift()};
10         
11         %IkiWiki::pagecase=();
12         foreach my $page (@existing_pages) {
13                 $IkiWiki::pagecase{lc $page}=$page;
14         }
15
16         return IkiWiki::bestlink($page, $link);
17 }
18
19 BEGIN { use_ok("IkiWiki"); }
20
21 is(test("bar", "foo", ["bar"]), "", "broken link");
22 is(test("bar", "foo", ["bar", "foo"]), "foo", "simple link");
23 is(test("bar", "FoO", ["bar", "foo"]), "foo", "simple link with different input case");
24 is(test("bar", "foo", ["bar", "fOo"]), "fOo", "simple link with different page case");
25 is(test("bar", "FoO", ["bar", "fOo"]), "fOo", "simple link with different page and input case");
26 is(test("bar", "foo", ["bar", "foo", "bar/foo"]), "bar/foo", "simple subpage link");
27 is(test("bar", "foo/subpage", ["bar", "foo", "bar/subpage", "foo/subpage"]), "foo/subpage", "cross subpage link");