ikiwiki/t/cmp_path.t

49 lines
944 B
Perl
Executable File

#!/usr/bin/perl
use warnings;
use strict;
use Test::More tests => 25;
BEGIN { use_ok("IkiWiki"); }
%config=IkiWiki::defaultconfig();
$config{srcdir}=$config{destdir}="/dev/null";
IkiWiki::checkconfig();
sub test {
my ($before, $after) = @_;
$IkiWiki::SortSpec::a = $before;
$IkiWiki::SortSpec::b = $after;
my $r = IkiWiki::SortSpec::cmp_path();
if ($before eq $after) {
is($r, 0);
}
else {
is($r, -1);
}
$IkiWiki::SortSpec::a = $after;
$IkiWiki::SortSpec::b = $before;
$r = IkiWiki::SortSpec::cmp_path();
if ($before eq $after) {
is($r, 0);
}
else {
is($r, 1);
}
is_deeply([IkiWiki::SortSpec::sort_pages(\&IkiWiki::SortSpec::cmp_path, $before, $after)],
[$before, $after]);
is_deeply([IkiWiki::SortSpec::sort_pages(\&IkiWiki::SortSpec::cmp_path, $after, $before)],
[$before, $after]);
}
test("a/b/c", "a/b/c");
test("a/b", "a/c");
test("a/z", "z/a");
test("a", "a/b");
test("a", "a/b");
test("a/z", "ab");