]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - t/use_pagespec.t
add use_pagespec and deptype functions
[git.ikiwiki.info.git] / t / use_pagespec.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use Test::More tests => 64;
6 BEGIN { use_ok("IkiWiki"); }
8 %pagesources=(
9         foo => "foo.mdwn",
10         bar => "bar.mdwn",
11         "post/1" => "post/1.mdwn",
12         "post/2" => "post/2.mdwn",
13         "post/3" => "post/3.mdwn",
14 );
16 is_deeply([use_pagespec("foo", "bar")], ["bar"]);
17 is_deeply([sort(use_pagespec("foo", "post/*"))], ["post/1", "post/2", "post/3"]);
18 is_deeply([use_pagespec("foo", "post/*", sort => "title", reverse => 1)],
19         ["post/3", "post/2", "post/1"]);
20 is_deeply([use_pagespec("foo", "post/*", sort => "title", num => 2)],
21         ["post/1", "post/2"]);
22 is_deeply([use_pagespec("foo", "post/*", sort => "title", num => 50)],
23         ["post/1", "post/2", "post/3"]);
24 is_deeply([use_pagespec("foo", "post/*", sort => "title",
25                          limit => sub { $_[0] !~ /3/}) ],
26         ["post/1", "post/2"]);
27 eval { use_pagespec("foo", "beep") };
28 ok($@, "fails with error when unable to match anything");
29 eval { use_pagespec("foo", "this is not a legal pagespec!") };
30 ok($@, "fails with error when pagespec bad");