From 55cc22939f4ac497cc08f25c51a510a5cddef168 Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 2 May 2006 21:14:50 +0000 Subject: * Add unit tests for several core functions, including globlist_match, dirname, basename, and bestlink. as plugins and work. (Well, in theory.) --- debian/changelog | 5 +++-- t/bestlink.t | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 t/bestlink.t diff --git a/debian/changelog b/debian/changelog index c9d9ab1e0..c072c237b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,7 +26,8 @@ ikiwiki (1.1) UNRELEASED; urgency=low * Removed backlinks page, which it turns out nothing used. * Split off an IkiWiki.pm out of ikiwiki and have all the other modules use it, this will allow for adding a unit test suite. - * Add a unit test for globlist_match(). + * Add unit tests for several core functions, including globlist_match, + dirname, basename, and bestlink. * Smart globlist merging. * Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc, to pave the way for adding other RCS support. This also changes the @@ -34,7 +35,7 @@ ikiwiki (1.1) UNRELEASED; urgency=low rcs => "svn" or rcs => "". * Add a debian/NEWS file with upgrade notes. * Load whatever rcs module is specified, so new ones can be just dropped in - as plugins and work. + as plugins and work. (Well, in theory.) * Add some basic docs about writing RCS modules. -- Joey Hess Tue, 2 May 2006 14:13:59 -0400 diff --git a/t/bestlink.t b/t/bestlink.t new file mode 100755 index 000000000..ed748b0f2 --- /dev/null +++ b/t/bestlink.t @@ -0,0 +1,24 @@ +#!/usr/bin/perl +use warnings; +use strict; +use Test::More tests => 5; + +sub test ($$$) { + my $page=shift; + my $link=shift; + my @existing_pages=@{shift()}; + + %IkiWiki::links=(); + foreach my $page (@existing_pages) { + $IkiWiki::links{$page}=[]; + } + + return IkiWiki::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", "bar/foo"]), "bar/foo", "simple subpage link"); +is(test("bar", "foo/subpage", ["bar", "foo", "bar/subpage", "foo/subpage"]), "foo/subpage", "cross subpage link"); -- cgit v1.2.3