my @command;
if ($installed) {
- @command = qw(ikiwiki);
+ @command = qw(ikiwiki --plugin inline);
}
else {
ok(! system("make -s ikiwiki.out"));
my $cgi = CGI->new($args{params});
my $query_string = $cgi->query_string();
+ diag $query_string;
if ($method eq 'POST') {
$defaults{REQUEST_METHOD} = 'POST';
write_old_file('doc/writable/two.mdwn', 't/tmp/in', 'This is the second test page');
write_old_file('doc/writable/three.mdwn', 't/tmp/in', 'This is the third test page');
write_old_file('doc/writable/three.bin', 't/tmp/in', 'An attachment');
+ write_old_file('doc/writable/blog.mdwn', 't/tmp/in',
+ '[[!inline pages="writable/blog/*" actions=yes rootpage=writable/blog postform=yes show=0]]');
+ write_old_file('doc/writable/__172__blog.mdwn', 't/tmp/in',
+ '[[!inline pages="writable/¬blog/*" actions=yes rootpage="writable/¬blog" postform=yes show=0]]');
unless ($installed) {
ok(! system(qw(cp -pRL doc/wikiicons t/tmp/in/doc/)));
like($content, qr{This is the third test page});
$content = readfile('t/tmp/out/writable/three.bin');
like($content, qr{An attachment});
+
+ $content = readfile('t/tmp/out/writable/blog/index.html');
+ like($content, qr{<input type="hidden" name="from" value="writable/blog"});
+ $content = run_cgi(method => 'get',
+ params => {
+ do => 'blog',
+ from => 'writable/blog',
+ subpage => '1',
+ title => 'hello',
+ },
+ );
+ like($content, qr{<option selected="selected" value="writable/blog/hello">writable/blog/hello</option>});
+
+ # This attempts to reproduce the bug from
+ # doc/bugs/About___37__2F_problem, in which you can't make new posts
+ # to a blog with a non-ASCII rootpage.
+ $content = readfile('t/tmp/out/writable/__172__blog/index.html');
+ like($content, qr{<input type="hidden" name="from" value="writable/¬blog"});
+ TODO: {
+ local $TODO = 'doc/bugs/About___37__2F_problem';
+ $content = run_cgi(method => 'get',
+ params => {
+ do => 'blog',
+ from => 'writable/¬blog',
+ subpage => '1',
+ title => 'hello',
+ },
+ );
+ like($content, qr{<option selected="selected" value="writable/¬blog/hello">writable/¬blog/hello</option>});
+ unlike($content, qr{Error: bad page name});
+ }
}
test();