diff options
-rwxr-xr-x | t/replace.t | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/t/replace.t b/t/replace.t index 7d91f772f..04791d9f7 100755 --- a/t/replace.t +++ b/t/replace.t @@ -1,4 +1,5 @@ #!/usr/bin/perl +# Tests for bugs relating to replacing/renaming files in the srcdir. use warnings; use strict; use Test::More 'no_plan'; @@ -7,7 +8,6 @@ use Test::More 'no_plan'; my $srcdir="t/tmp/src"; my $destdir="t/tmp/dest"; ok(! system("make -s ikiwiki.out")); -ok(! system("mkdir -p $srcdir")); # runs ikiwiki to build test site sub runiki { @@ -20,15 +20,34 @@ sub setupiki { ok(! system("rm -rf $srcdir/.ikiwiki $destdir")); runiki("--rebuild"); } +sub newsrcdir { + ok(! system("rm -rf $srcdir $destdir")); + ok(! system("mkdir -p $srcdir")); +} # At one point, changing the extension of the source file of a page caused # ikiwiki to fail. +newsrcdir(); ok(! system("touch $srcdir/foo.mdwn")); setupiki(); ok(! system("mv $srcdir/foo.mdwn $srcdir/foo.html")); refreshiki(); +ok(! system("mv $srcdir/foo.html $srcdir/foo.mdwn")); +refreshiki(); # Changing a non-page file into a page could also cause ikiwiki to fail. +newsrcdir(); +ok(! system("touch $srcdir/foo")); +setupiki(); +ok(! system("mv $srcdir/foo $srcdir/foo.mdwn")); +refreshiki(); + +# Changing a page file into a non-page could also cause ikiwiki to fail. +newsrcdir(); +ok(! system("touch $srcdir/foo.mdwn")); +setupiki(); +ok(! system("mv $srcdir/foo.mdwn $srcdir/foo")); +refreshiki(); # cleanup ok(! system("rm -rf t/tmp")); |