diff options
author | Eric Wong <e@80x24.org> | 2016-08-18 02:02:50 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-08-18 02:03:41 +0000 |
commit | dfe55f5ee5bd6e3a12d933a6570eb94f294d1c54 (patch) | |
tree | 9037a2566e26d844e843faa8ccccb8e0d6438bfd /t | |
parent | 1b28cc7f00a866cb2b60a6569002db1f605019d5 (diff) | |
download | public-inbox-dfe55f5ee5bd6e3a12d933a6570eb94f294d1c54.tar.gz |
We're not to-the-letter about percent-encoding, but we should allow all the characters. This is mainly so we can effectively use the link to some Wikipedia pages with parentheses in them: https://en.wikipedia.org/wiki/Atom_(standard) https://en.wikipedia.org/wiki/Git_(software)
Diffstat (limited to 't')
-rw-r--r-- | t/linkify.t | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/linkify.t b/t/linkify.t index 586691ae..49cbbd64 100644 --- a/t/linkify.t +++ b/t/linkify.t @@ -23,4 +23,38 @@ use PublicInbox::Linkify; is($s, qq(<a\nhref="$u">$u</a>;), 'trailing semicolon not in URL'); } +{ + my $l = PublicInbox::Linkify->new; + my $u = 'http://example.com/url-with-(parens)'; + my $s = "hello $u world"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq(hello <a\nhref="$u">$u</a> world), 'URL preserved'); + + $u .= "?query=a"; + $s = "hello $u world"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq(hello <a\nhref="$u">$u</a> world), 'query preserved'); + + $u .= "#fragment"; + $s = "hello $u world"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq(hello <a\nhref="$u">$u</a> world), + 'query + fragment preserved'); + + $u = "http://example.com/"; + $s = "hello $u world"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq(hello <a\nhref="$u">$u</a> world), "root URL preserved"); + + $u = "http://example.com/#fragment"; + $s = "hello $u world"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq(hello <a\nhref="$u">$u</a> world), "root + fragment"); +} + done_testing(); |