fix test cases for dynamic influence calculation
parent
c98414e192
commit
ef34ea7c05
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
use Test::More tests => 38;
|
use Test::More tests => 40;
|
||||||
|
|
||||||
BEGIN { use_ok("IkiWiki"); }
|
BEGIN { use_ok("IkiWiki"); }
|
||||||
%config=IkiWiki::defaultconfig();
|
%config=IkiWiki::defaultconfig();
|
||||||
|
@ -60,3 +60,11 @@ ok(! ($IkiWiki::depends{foo0}{"*"} & $IkiWiki::DEPEND_PRESENCE));
|
||||||
ok(add_depends("foo9", "*", deptype("monkey")));
|
ok(add_depends("foo9", "*", deptype("monkey")));
|
||||||
ok($IkiWiki::depends{foo9}{"*"} & $IkiWiki::DEPEND_CONTENT);
|
ok($IkiWiki::depends{foo9}{"*"} & $IkiWiki::DEPEND_CONTENT);
|
||||||
ok(! ($IkiWiki::depends{foo9}{"*"} & ($IkiWiki::DEPEND_PRESENCE | $IkiWiki::DEPEND_LINKS)));
|
ok(! ($IkiWiki::depends{foo9}{"*"} & ($IkiWiki::DEPEND_PRESENCE | $IkiWiki::DEPEND_LINKS)));
|
||||||
|
|
||||||
|
# Influences are added for dependencies involving links.
|
||||||
|
$pagesources{"foo"}="foo.mdwn";
|
||||||
|
$links{foo}=[qw{bar}];
|
||||||
|
$pagesources{"bar"}="bar.mdwn";
|
||||||
|
$links{bar}=[qw{}];
|
||||||
|
ok(add_depends("foo", "link(bar) and backlink(meep)"));
|
||||||
|
ok($IkiWiki::depends_simple{foo}{foo} == $IkiWiki::DEPEND_LINKS);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
use Test::More tests => 115;
|
use Test::More tests => 126;
|
||||||
|
|
||||||
BEGIN { use_ok("IkiWiki"); }
|
BEGIN { use_ok("IkiWiki"); }
|
||||||
|
|
||||||
|
@ -71,19 +71,27 @@ foreach my $spec ("* and link(bar)", "* or link(bar)") {
|
||||||
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_PRESENCE);
|
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_PRESENCE);
|
||||||
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_LINKS)));
|
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_LINKS)));
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo2} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo2}{foo2} == $IkiWiki::DEPEND_LINKS);
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo} != $IkiWiki::DEPEND_LINKS);
|
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
pagespec_match_list("foo3", $spec, deptype => deptype("links"));
|
pagespec_match_list("foo3", $spec, deptype => deptype("links"));
|
||||||
ok($IkiWiki::depends{foo3}{$spec} & $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends{foo3}{$spec} & $IkiWiki::DEPEND_LINKS);
|
||||||
ok(! ($IkiWiki::depends{foo3}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_PRESENCE)));
|
ok(! ($IkiWiki::depends{foo3}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_PRESENCE)));
|
||||||
ok($IkiWiki::depends_simple{foo3}{foo3} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo3}{foo3} == $IkiWiki::DEPEND_LINKS);
|
||||||
ok($IkiWiki::depends_simple{foo3}{foo} != $IkiWiki::DEPEND_LINKS);
|
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
}
|
}
|
||||||
# Above we tested that a link pagespec is influenced
|
|
||||||
# by the pages that currently contain the link.
|
# A link pagespec is influenced by the pages that currently contain the link.
|
||||||
|
# It is not influced by pages that do not currently contain the link,
|
||||||
|
# because if those pages were changed to contain it, regular dependency
|
||||||
|
# handling would be triggered.
|
||||||
|
foreach my $spec ("* and link(bar)", "link(bar)", "no_such_page or link(bar)") {
|
||||||
|
pagespec_match_list("foo2", $spec);
|
||||||
|
ok($IkiWiki::depends_simple{foo2}{foo2} == $IkiWiki::DEPEND_LINKS);
|
||||||
|
ok(! exists $IkiWiki::depends_simple{foo2}{foo}, $spec);
|
||||||
|
%IkiWiki::depends_simple=();
|
||||||
|
%IkiWiki::depends=();
|
||||||
|
}
|
||||||
|
|
||||||
# Oppositely, a pagespec that tests for pages that do not have a link
|
# Oppositely, a pagespec that tests for pages that do not have a link
|
||||||
# is not influenced by pages that currently contain the link, but
|
# is not influenced by pages that currently contain the link, but
|
||||||
|
@ -91,8 +99,8 @@ foreach my $spec ("* and link(bar)", "* or link(bar)") {
|
||||||
# could be changed to have it).
|
# could be changed to have it).
|
||||||
foreach my $spec ("* and !link(bar)", "* and !(!(!link(bar)))") {
|
foreach my $spec ("* and !link(bar)", "* and !(!(!link(bar)))") {
|
||||||
pagespec_match_list("foo2", $spec);
|
pagespec_match_list("foo2", $spec);
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo2} != $IkiWiki::DEPEND_LINKS);
|
ok(! exists $IkiWiki::depends_simple{foo2}{foo2});
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS, $spec);
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
}
|
}
|
||||||
|
@ -103,12 +111,14 @@ foreach my $spec ("bar or (backlink(foo) and !*.png)", "backlink(foo)", "!backli
|
||||||
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_PRESENCE);
|
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_PRESENCE);
|
||||||
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_LINKS)));
|
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_CONTENT | $IkiWiki::DEPEND_LINKS)));
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
||||||
|
ok(! exists $IkiWiki::depends_simple{foo2}{foo2});
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
pagespec_match_list("foo2", $spec, deptype => deptype("links"));
|
pagespec_match_list("foo2", $spec, deptype => deptype("links"));
|
||||||
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_LINKS);
|
||||||
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_PRESENCE | $IkiWiki::DEPEND_CONTENT)));
|
ok(! ($IkiWiki::depends{foo2}{$spec} & ($IkiWiki::DEPEND_PRESENCE | $IkiWiki::DEPEND_CONTENT)));
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
||||||
|
ok(! exists $IkiWiki::depends_simple{foo2}{foo2});
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
pagespec_match_list("foo2", $spec, deptype => deptype("presence", "links"));
|
pagespec_match_list("foo2", $spec, deptype => deptype("presence", "links"));
|
||||||
|
@ -116,6 +126,7 @@ foreach my $spec ("bar or (backlink(foo) and !*.png)", "backlink(foo)", "!backli
|
||||||
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_LINKS);
|
||||||
ok(! ($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_CONTENT));
|
ok(! ($IkiWiki::depends{foo2}{$spec} & $IkiWiki::DEPEND_CONTENT));
|
||||||
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
ok($IkiWiki::depends_simple{foo2}{foo} == $IkiWiki::DEPEND_LINKS);
|
||||||
|
ok(! exists $IkiWiki::depends_simple{foo2}{foo2});
|
||||||
%IkiWiki::depends_simple=();
|
%IkiWiki::depends_simple=();
|
||||||
%IkiWiki::depends=();
|
%IkiWiki::depends=();
|
||||||
pagespec_match_list("foo2", $spec);
|
pagespec_match_list("foo2", $spec);
|
||||||
|
|
Loading…
Reference in New Issue