diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-10-09 21:23:39 -0400 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-10-09 21:23:39 -0400 |
commit | ba00fb319c6332977ac0cc78937151add5b91335 (patch) | |
tree | fdf5efa19c12dfc46e227d3816a0747a5d8f03c0 | |
parent | 6d6fff8d87ae304427e222d20e4e49e671e3b0f3 (diff) | |
download | ikiwiki-ba00fb319c6332977ac0cc78937151add5b91335.tar ikiwiki-ba00fb319c6332977ac0cc78937151add5b91335.tar.gz |
update
-rwxr-xr-x | t/pagespec_match_result.t | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/t/pagespec_match_result.t b/t/pagespec_match_result.t index 2319d8733..d9c31d6f0 100755 --- a/t/pagespec_match_result.t +++ b/t/pagespec_match_result.t @@ -1,15 +1,15 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 67; +use Test::More tests => 71; BEGIN { use_ok("IkiWiki"); } # Note that new objects have to be constructed freshly for each test, since # object states are mutated as they are combined. -sub S { IkiWiki::SuccessReason->new("match") } -sub F { IkiWiki::FailReason->new("no match") } -sub E { IkiWiki::ErrorReason->new("error in matching") } +sub S { IkiWiki::SuccessReason->new("match", @_) } +sub F { IkiWiki::FailReason->new("no match", @_) } +sub E { IkiWiki::ErrorReason->new("error in matching", @_) } ok(S() eq "match"); ok(F() eq "no match"); @@ -38,12 +38,10 @@ ok(S() & (F() | F() | S())); # as long as the two items are always both present foreach my $op ('$s | $f', '$s & $f', '$s & $f & E()', '$s | E() | $f', '! $s | ! $f', '!(!(!$s)) | $f') { - my $s=S(); - $s->influences(foo => 1, bar => 1); + my $s=S(foo => 1, bar => 1); is($s->influences->{foo}, 1); is($s->influences->{bar}, 1); - my $f=F(); - $f->influences(bar => 2, baz => 1); + my $f=F(bar => 2, baz => 1); is($f->influences->{bar}, 2); is($f->influences->{baz}, 1); my $c = eval $op; @@ -52,3 +50,10 @@ foreach my $op ('$s | $f', '$s & $f', '$s & $f & E()', '$s | E() | $f', is($c->influences->{bar}, (1 | 2), "bar ($op)"); is($c->influences->{baz}, 1, "baz ($op)"); } + +my $s=S(foo => 0, bar => 1); +$s->influences(baz => 1); +ok(! $s->influences->{foo}, "removed 0 influence"); +ok(! $s->influences->{bar}, "removed 1 influence"); +ok($s->influences->{baz}, "set influence"); +ok($s->influences_static); |