]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - t/inline.t
Start thread on "track changes" visualization of ikiwiki page edits
[git.ikiwiki.info.git] / t / inline.t
index 859e1701ac211eaff100496b13d53b5c20ce6852..3a4450365ff2ed1305a615b827b25802e1e70ec9 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 use warnings;
 use strict;
+use Cwd qw(getcwd);
 use Test::More;
 use IkiWiki;
 
@@ -12,10 +13,10 @@ if ($installed) {
 }
 else {
        ok(! system("make -s ikiwiki.out"));
-       @command = qw(perl -I. ./ikiwiki.out
+       @command = ("perl", "-I".getcwd, qw(./ikiwiki.out
                --underlaydir=underlays/basewiki
                --set underlaydirbase=underlays
-               --templatedir=templates);
+               --templatedir=templates));
 }
 
 push @command, qw(--set usedirs=0 --plugin inline
@@ -46,6 +47,9 @@ write_old_file("antagonists.mdwn",
 # using old spelling of "limit" ("show") to verify backwards compat
 write_old_file("enemies.mdwn",
        '[[!inline pages="enemies/*" postform=no rootpage=enemies sort=title reverse=yes show=2]]');
+# to test correct processing of ../
+write_old_file("blah/blah/enemies.mdwn",
+       '[[!inline pages="enemies/*" postform=no rootpage=enemies sort=title reverse=yes show=2]]');
 foreach my $page (qw(protagonists/shepard protagonists/link
                antagonists/saren antagonists/ganondorf
                friends/garrus friends/liara friends/midna friends/telma
@@ -53,6 +57,9 @@ foreach my $page (qw(protagonists/shepard protagonists/link
                enemies/zant)) {
        write_old_file("$page.mdwn", "this page is {$page}");
 }
+# test cross-linking between pages as rendered in RSS
+write_old_file("enemies/zant.mdwn", "this page is {enemies/zant}\n\n".
+       "Zant hates [[friends/Midna]].");
 
 ok(! system(@command));
 ok(! system(@command, "--refresh"));
@@ -81,4 +88,18 @@ like($blob, qr[this page is \{enemies/zant}.*this page is \{enemies/rachni}]s,
 unlike($blob, qr{enemies/(?:benezia|geth)},
        'pages excluded by show should not be present');
 
+$blob = readfile("t/tmp/out/enemies.rss");
+like($blob, qr[this page is \{enemies/zant}.*this page is \{enemies/rachni}]s,
+       'first two pages in reversed sort order are present');
+like($blob,
+       qr[Zant hates <a href=(?:['"]|")http://example\.com/friends/midna.html(?:['"]|")>Midna</a>]s,
+       'link is correctly relative');
+
+$blob = readfile("t/tmp/out/blah/blah/enemies.rss");
+like($blob, qr[this page is \{enemies/zant}.*this page is \{enemies/rachni}]s,
+       'first two pages in reversed sort order are present');
+like($blob,
+       qr[Zant hates <a href=(?:['"]|")http://example\.com/friends/midna.html(?:['"]|")>Midna</a>]s,
+       'link is correctly relative');
+
 done_testing;