]> sipb.mit.edu Git - ikiwiki.git/blob - t/replace.t
add 2 failing test cases
[ikiwiki.git] / t / replace.t
1 #!/usr/bin/perl
2 # Tests for bugs relating to replacing/renaming files in the srcdir.
3 use warnings;
4 use strict;
5 use Test::More 'no_plan';
6
7 # setup
8 my $srcdir="t/tmp/src";
9 my $destdir="t/tmp/dest";
10 ok(! system("make -s ikiwiki.out"));
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 sub newsrcdir {
24         ok(! system("rm -rf $srcdir $destdir"));
25         ok(! system("mkdir -p $srcdir"));
26 }
27
28 # At one point, changing the extension of the source file of a page caused
29 # ikiwiki to fail.
30 newsrcdir();
31 ok(! system("touch $srcdir/foo.mdwn"));
32 setupiki();
33 ok(! system("mv $srcdir/foo.mdwn $srcdir/foo.html"));
34 refreshiki();
35 ok(! system("mv $srcdir/foo.html $srcdir/foo.mdwn"));
36 refreshiki();
37
38 # Changing a non-page file into a page could also cause ikiwiki to fail.
39 newsrcdir();
40 ok(! system("touch $srcdir/foo"));
41 setupiki();
42 ok(! system("mv $srcdir/foo $srcdir/foo.mdwn"));
43 refreshiki();
44
45 # Changing a page file into a non-page could also cause ikiwiki to fail.
46 newsrcdir();
47 ok(! system("touch $srcdir/foo.mdwn"));
48 setupiki();
49 ok(! system("mv $srcdir/foo.mdwn $srcdir/foo"));
50 refreshiki();
51
52 # cleanup
53 ok(! system("rm -rf t/tmp"));