about summary refs log tree commit homepage
path: root/t/linkify.t
diff options
context:
space:
mode:
Diffstat (limited to 't/linkify.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();