aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/plugins/calendar.mdwn2
-rwxr-xr-xt/pagespec_match_result.t18
2 files changed, 19 insertions, 1 deletions
diff --git a/doc/plugins/calendar.mdwn b/doc/plugins/calendar.mdwn
index d695762b7..8ade70004 100644
--- a/doc/plugins/calendar.mdwn
+++ b/doc/plugins/calendar.mdwn
@@ -6,7 +6,7 @@ The directive displays a calendar, similar to the typical calendars shown on
some blogs.
Since ikiwiki is a wiki compiler, to keep the calendar up-to-date,
-wikis that include it need to be periodically refreshes, typically by cron
+wikis that include it need to be periodically refreshed, typically by cron
at midnight. Example crontab:
0 0 * * * ikiwiki -setup ~/ikiwiki.setup -refresh
diff --git a/t/pagespec_match_result.t b/t/pagespec_match_result.t
index d9c31d6f0..c2112bf14 100755
--- a/t/pagespec_match_result.t
+++ b/t/pagespec_match_result.t
@@ -57,3 +57,21 @@ ok(! $s->influences->{foo}, "removed 0 influence");
ok(! $s->influences->{bar}, "removed 1 influence");
ok($s->influences->{baz}, "set influence");
ok($s->influences_static);
+
+# influence blocking
+my $r=F()->block & S(foo => 1);
+ok(! $r->influences->{foo}, "failed blocker & influence -> does not pass");
+$r=F()->block | S(foo => 1);
+ok($r->influences->{foo}, "failed blocker | influence -> does pass");
+$r=S(foo => 1) & F()->block;
+ok(! $r->influences->{foo}, "influence & failed blocker -> does not pass");
+$r=S(foo => 1) | F()->block;
+ok($r->influences->{foo}, "influence | failed blocker -> does pass");
+$r=S(foo => 1) & F()->block & S(foo => 2);
+ok(! $r->influences->{foo}, "influence & failed blocker & influence -> does not pass");
+$r=S(foo => 1) | F()->block | S(foo => 2);
+ok($r->influences->{foo}, "influence | failed blocker | influence -> does pass");
+$r=S()->block & S(foo => 1);
+ok($r->influences->{foo}, "successful blocker -> does pass");
+$r=(! S()->block) & S(foo => 1);
+ok(! $r->influences->{foo}, "! successful blocker -> failed blocker");