add test of file replace
[ikiwiki] / t / replace.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use Test::More 'no_plan';
5
6 # setup
7 my $srcdir="t/tmp/src";
8 my $destdir="t/tmp/dest";
9 ok(! system("make -s ikiwiki.out"));
10 ok(! system("mkdir -p $srcdir"));
11
12 # runs ikiwiki to build test site
13 sub runiki {
14         ok(! system("perl -I. ./ikiwiki.out -plugin html -underlaydir=underlays/basewiki -set underlaydirbase=underlays -templatedir=templates $srcdir $destdir @_"));
15 }
16 sub refreshiki {
17         runiki();
18 }
19 sub setupiki {
20         ok(! system("rm -rf $srcdir/.ikiwiki $destdir"));
21         runiki("--rebuild");
22 }
23
24 # At one point, changing the extension of the source file of a page caused
25 # ikiwiki to fail.
26 ok(! system("touch $srcdir/foo.mdwn"));
27 setupiki();
28 ok(! system("mv $srcdir/foo.mdwn $srcdir/foo.html"));
29 refreshiki();
30
31 # Changing a non-page file into a page could also cause ikiwiki to fail.
32
33 # cleanup
34 ok(! system("rm -rf t/tmp"));