aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2019-02-03 13:19:57 +0000
committerSimon McVittie <smcv@debian.org>2019-02-03 13:27:00 +0000
commit4ba3c1159272c8070d5dc962ff1634ad6ba21618 (patch)
tree1486039d8b82a7dd1b085d707f7d51c76c27d779 /t
parente8dea1b9241b35217d9727be4f4460a8b562bbb3 (diff)
downloadikiwiki-4ba3c1159272c8070d5dc962ff1634ad6ba21618.tar
ikiwiki-4ba3c1159272c8070d5dc962ff1634ad6ba21618.tar.gz
git-cgi.t: Exercise an alphanumeric, but non-ASCII, root page
My previous attempt to reproduce this bug used a non-alphanumeric ASCII character. This is not currently considered to be a valid value for rootpage, although for a "do what I mean" approach, perhaps we should accept it and pass it through titlepage() or linkpage(). Using Chinese characters (which are considered to match [[:alnum:]] even though the Chinese script is not, strictly speaking, an alphabet), as in the original bug report, reproduces the bug. Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 't')
-rwxr-xr-xt/git-cgi.t22
1 files changed, 11 insertions, 11 deletions
diff --git a/t/git-cgi.t b/t/git-cgi.t
index 79cd62f61..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 {
@@ -133,7 +135,7 @@ sub run_cgi {
} keys(%envvars);
});
- return $out;
+ return decode_utf8($out);
}
sub run_git {
@@ -169,6 +171,8 @@ sub test {
'[[!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/)));
@@ -332,24 +336,20 @@ sub test {
);
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';
+ # 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{<input type="hidden" name="from" value="writable/中文"});
$content = run_cgi(method => 'get',
params => {
do => 'blog',
- from => 'writable/¬blog',
+ from => 'writable/中文',
subpage => '1',
title => 'hello',
},
);
- like($content, qr{<option selected="selected" value="writable/¬blog/hello">writable/¬blog/hello</option>});
+ like($content, qr{<option selected="selected" value="writable/中文/hello">writable/中文/hello</option>});
unlike($content, qr{Error: bad page name});
- }
}
test();