aboutsummaryrefslogtreecommitdiff
path: root/t/pagespec_match_list.t
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-10-08 23:51:06 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-10-08 23:51:06 -0400
commit5e7b2dea84a35163b599b88efc02cd7ef3e0ad46 (patch)
treeb9defe4426804bdfd04a53fe00f3e5abf54c7a81 /t/pagespec_match_list.t
parent955bcea2a7bacb98cb62a38faa78b05e0f430aac (diff)
downloadikiwiki-5e7b2dea84a35163b599b88efc02cd7ef3e0ad46.tar
ikiwiki-5e7b2dea84a35163b599b88efc02cd7ef3e0ad46.tar.gz
rename use_pagespec to pagespec_match_list
To avoid breaking plugins, also support the old pagespec_match_list calling convention, with a deprecation warning.
Diffstat (limited to 't/pagespec_match_list.t')
-rwxr-xr-xt/pagespec_match_list.t31
1 files changed, 31 insertions, 0 deletions
diff --git a/t/pagespec_match_list.t b/t/pagespec_match_list.t
new file mode 100755
index 000000000..85a30b542
--- /dev/null
+++ b/t/pagespec_match_list.t
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use Test::More tests => 10;
+
+BEGIN { use_ok("IkiWiki"); }
+
+%pagesources=(
+ foo => "foo.mdwn",
+ bar => "bar.mdwn",
+ "post/1" => "post/1.mdwn",
+ "post/2" => "post/2.mdwn",
+ "post/3" => "post/3.mdwn",
+);
+
+is_deeply([pagespec_match_list("foo", "bar")], ["bar"]);
+is_deeply([sort(pagespec_match_list("foo", "post/*"))], ["post/1", "post/2", "post/3"]);
+is_deeply([pagespec_match_list("foo", "post/*", sort => "title", reverse => 1)],
+ ["post/3", "post/2", "post/1"]);
+is_deeply([pagespec_match_list("foo", "post/*", sort => "title", num => 2)],
+ ["post/1", "post/2"]);
+is_deeply([pagespec_match_list("foo", "post/*", sort => "title", num => 50)],
+ ["post/1", "post/2", "post/3"]);
+is_deeply([pagespec_match_list("foo", "post/*", sort => "title",
+ limit => sub { $_[0] !~ /3/}) ],
+ ["post/1", "post/2"]);
+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");
+eval { pagespec_match_list("foo", "this is not a legal pagespec!") };
+ok($@, "fails with error when pagespec bad");