From e55bef366b87ecbcb66c93669f41876afc1d2446 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 18 Apr 2019 23:49:42 +0000 Subject: linkify: require parentheses pairs in URLs Dangling parentheses with trailing punctuation usually means the parentheses is not intended as part of the URL. --- t/linkify.t | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 't/linkify.t') diff --git a/t/linkify.t b/t/linkify.t index bef4ffd6..fe218b91 100644 --- a/t/linkify.t +++ b/t/linkify.t @@ -50,6 +50,11 @@ use PublicInbox::Linkify; $s = $l->linkify_2($s); is($s, qq(hello $u world), 'URL preserved'); + $s = "$u. hi"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq($u. hi), 'paired () in URL OK'); + $u .= "?query=a"; $s = "hello $u world"; $s = $l->linkify_1($s); @@ -117,4 +122,14 @@ use PublicInbox::Linkify; } } +# dangling ')' cf. see MaintNotes in git.git todo branch +{ + my $l = PublicInbox::Linkify->new; + my $s = '(see http://example.com/).'; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + like($s, qr!\(see ]+>http://example\.com/\)\.!s, + 'punctuation with unpaired ) OK') +} + done_testing(); -- cgit v1.2.3-24-ge0c7