aboutsummaryrefslogtreecommitdiff
path: root/t/pagespec_match_list.t
diff options
context:
space:
mode:
Diffstat (limited to 't/pagespec_match_list.t')
-rwxr-xr-xt/pagespec_match_list.t20
1 files changed, 19 insertions, 1 deletions
diff --git a/t/pagespec_match_list.t b/t/pagespec_match_list.t
index dd5dcc5b0..2ad7a9105 100755
--- a/t/pagespec_match_list.t
+++ b/t/pagespec_match_list.t
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use warnings;
use strict;
-use Test::More tests => 88;
+use Test::More tests => 90;
BEGIN { use_ok("IkiWiki"); }
@@ -9,6 +9,12 @@ BEGIN { use_ok("IkiWiki"); }
$config{srcdir}=$config{destdir}="/dev/null";
IkiWiki::checkconfig();
+{
+ package IkiWiki::SortSpec;
+
+ sub cmp_path { $a cmp $b }
+}
+
%pagesources=(
foo => "foo.mdwn",
foo2 => "foo2.mdwn",
@@ -18,6 +24,13 @@ IkiWiki::checkconfig();
"post/2" => "post/2.mdwn",
"post/3" => "post/3.mdwn",
);
+$IkiWiki::pagectime{foo} = 2;
+$IkiWiki::pagectime{foo2} = 2;
+$IkiWiki::pagectime{foo3} = 1;
+$IkiWiki::pagectime{bar} = 3;
+$IkiWiki::pagectime{"post/1"} = 6;
+$IkiWiki::pagectime{"post/2"} = 6;
+$IkiWiki::pagectime{"post/3"} = 6;
$links{foo}=[qw{post/1 post/2}];
$links{foo2}=[qw{bar}];
$links{foo3}=[qw{bar}];
@@ -34,6 +47,11 @@ is_deeply([pagespec_match_list("foo", "post/*", sort => "title", num => 50)],
is_deeply([pagespec_match_list("foo", "post/*", sort => "title",
filter => sub { $_[0] =~ /3/}) ],
["post/1", "post/2"]);
+is_deeply([pagespec_match_list("foo", "*", sort => "path", num => 2)],
+ ["bar", "foo"]);
+is_deeply([pagespec_match_list("foo", "foo* or bar*",
+ sort => "-age title")], # oldest first, break ties by title
+ ["foo3", "foo", "foo2", "bar"]);
my $r=eval { pagespec_match_list("foo", "beep") };
ok(eval { pagespec_match_list("foo", "beep") } == 0);
ok(! $@, "does not fail with error when unable to match anything");