X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/dfd6bb3854c737131b40deba1c6b7b5d7ef2083e..700d39d765e59f45d15d5b6dd81c187947bd308d:/t/htmlize.t diff --git a/t/htmlize.t b/t/htmlize.t index b19dbcf68..1569c8dcf 100755 --- a/t/htmlize.t +++ b/t/htmlize.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 26; +use Test::More tests => 31; use Encode; BEGIN { use_ok("IkiWiki"); } @@ -12,22 +12,19 @@ $config{srcdir}=$config{destdir}="/dev/null"; IkiWiki::loadplugins(); IkiWiki::checkconfig(); -is(IkiWiki::htmlize("foo", "mdwn", "foo\n\nbar\n"), "

foo

\n\n

bar

\n", +is(IkiWiki::htmlize("foo", "foo", "mdwn", "foo\n\nbar\n"), "

foo

\n\n

bar

\n", "basic"); -is(IkiWiki::htmlize("foo", "mdwn", readfile("t/test1.mdwn")), - Encode::decode_utf8(qq{

o\nóóóóó

\n}), - "utf8; bug #373203"); -ok(IkiWiki::htmlize("foo", "mdwn", readfile("t/test2.mdwn")), +my $val=Encode::encode_utf8(IkiWiki::htmlize("foo", "foo", "mdwn", readfile("t/test1.mdwn"))); +ok($val =~/ó/ && $val =~/óóóóó/, "utf8; bug #373203"); +ok(IkiWiki::htmlize("foo", "foo", "mdwn", readfile("t/test2.mdwn")), "this file crashes markdown if it's fed in as decoded utf-8"); sub gotcha { - my $html=IkiWiki::htmlize("foo", "mdwn", shift); + my $html=IkiWiki::htmlize("foo", "foo", "mdwn", shift); return $html =~ /GOTCHA/; } ok(!gotcha(q{click me}), "javascript url"); -ok(!gotcha(q{click me}), - "partially encoded javascript url"); ok(!gotcha(q{click me}), "jscript url"); ok(!gotcha(q{click me}), @@ -56,15 +53,33 @@ ok(gotcha(q{

javascript:alert('GOTCHA')

}), be perverse and assume it is?)"); ok(gotcha(q{}), "not javascript"); ok(gotcha(q{foo}), "not javascript"); -is(IkiWiki::htmlize("foo", "mdwn", +is(IkiWiki::htmlize("foo", "foo", "mdwn", q{foo}), q{foo}, "img with alt tag allowed"); -is(IkiWiki::htmlize("foo", "mdwn", +is(IkiWiki::htmlize("foo", "foo", "mdwn", q{}), q{}, "absolute url allowed"); -is(IkiWiki::htmlize("foo", "mdwn", +is(IkiWiki::htmlize("foo", "foo", "mdwn", q{}), q{}, "relative url allowed"); -is(IkiWiki::htmlize("foo", "mdwn", +is(IkiWiki::htmlize("foo", "foo", "mdwn", q{bar}), q{bar}, "class attribute allowed"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "simple anchor allowed"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "colon allowed in anchor"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "colon allowed in query string"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "unknown protocol blocked"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "simple relative anchor allowed"); +is(IkiWiki::htmlize("foo", "foo", "mdwn", + q{}), + q{}, "colon in simple relative anchor allowed");