summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xt/replace.t21
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"));