diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2010-04-11 01:30:03 -0400 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2010-04-11 01:30:03 -0400 |
commit | 0bfc364a7df124509855b8ed0b1b33ab5bc9ebbb (patch) | |
tree | 18f7d7d765e463ac748a56afdbd728e6baeb10ba /t | |
parent | cecbd529389788c1f1cb647e2ff297cda7554456 (diff) |
optimization: pagespec_match_list with no num limit matches before sorting
This can be a lot faster, since huge numbers of pages are not sorted
only to mostly be thrown away. It sped up a build of my blog by at least
5 minutes.
Diffstat (limited to 't')
-rwxr-xr-x | t/pagespec_match_list.t | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/t/pagespec_match_list.t b/t/pagespec_match_list.t index 2ad7a9105..c7688c6c0 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 => 90; +use Test::More tests => 92; BEGIN { use_ok("IkiWiki"); } @@ -38,12 +38,16 @@ $links{foo3}=[qw{bar}]; is_deeply([pagespec_match_list("foo", "bar")], ["bar"]); is_deeply([sort(pagespec_match_list("foo", "* and !post/*"))], ["bar", "foo", "foo2", "foo3"]); is_deeply([sort(pagespec_match_list("foo", "post/*"))], ["post/1", "post/2", "post/3"]); +is_deeply([pagespec_match_list("foo", "post/*", sort => "title")], + ["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", num => 50, reverse => 1)], + ["post/3", "post/2", "post/1"]); is_deeply([pagespec_match_list("foo", "post/*", sort => "title", filter => sub { $_[0] =~ /3/}) ], ["post/1", "post/2"]); |