49 lines
944 B
Perl
49 lines
944 B
Perl
|
#!/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");
|