]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - t/git-cgi.t
pagetitle.t, linkpage.t, titlepage.t: Exercise Unicode more
[git.ikiwiki.info.git] / t / git-cgi.t
index ee47261edd525497f9332c5dfe077491ef7c8fc7..79cd62f61c48ab6cea30869fb635f84e41fd6f9f 100755 (executable)
@@ -35,7 +35,7 @@ my $installed = $ENV{INSTALLED_TESTS};
 
 my @command;
 if ($installed) {
-       @command = qw(ikiwiki);
+       @command = qw(ikiwiki --plugin inline);
 }
 else {
        ok(! system("make -s ikiwiki.out"));
@@ -112,6 +112,7 @@ sub run_cgi {
 
        my $cgi = CGI->new($args{params});
        my $query_string = $cgi->query_string();
+       diag $query_string;
 
        if ($method eq 'POST') {
                $defaults{REQUEST_METHOD} = 'POST';
@@ -164,6 +165,10 @@ sub test {
        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/)));
@@ -314,6 +319,37 @@ sub test {
        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();