X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/a10d86bbaebee2d6a30b66b4366d3f0247264678..ebf54a6b4328b0cf568d8e07e7fb8e4a89e95642:/t/git-cgi.t diff --git a/t/git-cgi.t b/t/git-cgi.t index c0d087026..3556bc038 100755 --- a/t/git-cgi.t +++ b/t/git-cgi.t @@ -1,7 +1,9 @@ #!/usr/bin/perl +use utf8; use warnings; use strict; +use Encode; use Test::More; BEGIN { @@ -35,7 +37,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")); @@ -133,7 +135,7 @@ sub run_cgi { } keys(%envvars); }); - return $out; + return decode_utf8($out); } sub run_git { @@ -165,6 +167,12 @@ 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]]'); + write_old_file('doc/writable/中文.mdwn', 't/tmp/in', + '[[!inline pages="writable/中文/*" actions=yes rootpage="writable/中文" postform=yes show=0]]'); unless ($installed) { ok(! system(qw(cp -pRL doc/wikiicons t/tmp/in/doc/))); @@ -315,6 +323,33 @@ 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{ 'get', + params => { + do => 'blog', + from => 'writable/blog', + subpage => '1', + title => 'hello', + }, + ); + like($content, qr{}); + + # Regression test for a bug in which we couldn't use an + # alphanumeric, but non-ASCII, root page. + $content = readfile('t/tmp/out/writable/中文/index.html'); + like($content, qr{ 'get', + params => { + do => 'blog', + from => 'writable/中文', + subpage => '1', + title => 'hello', + }, + ); + like($content, qr{}); + unlike($content, qr{Error: bad page name}); } test();