about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-08-18 02:02:50 +0000
committerEric Wong <e@80x24.org>2016-08-18 02:03:41 +0000
commitdfe55f5ee5bd6e3a12d933a6570eb94f294d1c54 (patch)
tree9037a2566e26d844e843faa8ccccb8e0d6438bfd /t
parent1b28cc7f00a866cb2b60a6569002db1f605019d5 (diff)
downloadpublic-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.t34
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();