X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d6cb4436bd93d0c49f629f46eb0f0ada0fa0ef3d..dfcaec65c5adc0a6d135f502c251826854b1e189:/t/conflicts.t diff --git a/t/conflicts.t b/t/conflicts.t index 4664e1b6e..2c2761efb 100755 --- a/t/conflicts.t +++ b/t/conflicts.t @@ -2,17 +2,33 @@ # Tests for bugs relating to conflicting files in the srcdir use warnings; use strict; -use Test::More tests => 92; +use Cwd qw(getcwd); +use Test::More tests => 106; + +my $installed = $ENV{INSTALLED_TESTS}; + +my @command; +if ($installed) { + ok(1, "running installed"); + @command = qw(ikiwiki); +} +else { + ok(! system("make -s ikiwiki.out")); + @command = ("perl", "-I".getcwd, qw(./ikiwiki.out + --underlaydir=underlays/basewiki + --set underlaydirbase=underlays + --templatedir=templates)); +} # setup my $srcdir="t/tmp/src"; my $destdir="t/tmp/dest"; -ok(! system("make -s ikiwiki.out")); # runs ikiwiki to build test site sub runiki { my $testdesc=shift; - ok((! system("perl -I. ./ikiwiki.out -plugin txt -plugin rawhtml -underlaydir=underlays/basewiki -set underlaydirbase=underlays -templatedir=templates $srcdir $destdir @_")), + ok((! system(@command, qw(--plugin txt --plugin rawhtml), + $srcdir, $destdir, @_)), $testdesc); } sub refreshiki { @@ -64,6 +80,19 @@ setupiki("initial setup"); ok(! system("touch $srcdir/foo.mdwn")); refreshiki("conflicting non-page added (page already existing) in refresh"); +# Page that renders to a file that is also a subdirectory holding another +# file. +newsrcdir(); +ok(! system("touch $srcdir/foo.mdwn")); +ok(! system("mkdir -p $srcdir/foo/index.html")); +ok(! system("touch $srcdir/foo/index.html/bar.mdwn")); +setupiki("conflicting page file and subdirectory"); +newsrcdir(); +ok(! system("touch $srcdir/foo.mdwn")); +ok(! system("mkdir -p $srcdir/foo/index.html")); +ok(! system("touch $srcdir/foo/index.html/bar")); +setupiki("conflicting page file and subdirectory 2"); + # Changing a page file into a non-page could also cause ikiwiki to fail. newsrcdir(); ok(! system("touch $srcdir/foo.mdwn"));