X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Flinkify.t;h=a55ed22a19118d686bbde4c48e7abf4494c9b038;hb=f826a7830bce67c0f8c653baf97f7769bb2c57d9;hp=49cbbd64edf5d18ca1892f91abd111afed88407e;hpb=52e44dc8f9e01678f309818c8ca2bc65b8285738;p=public-inbox.git diff --git a/t/linkify.t b/t/linkify.t index 49cbbd64..a55ed22a 100644 --- a/t/linkify.t +++ b/t/linkify.t @@ -1,4 +1,4 @@ -# Copyright (C) 2016 all contributors +# Copyright (C) 2016-2018 all contributors # License: AGPL-3.0+ use strict; use warnings; @@ -14,6 +14,16 @@ use PublicInbox::Linkify; is($s, qq($u.), 'trailing period not in URL'); } +# handle URLs in parenthesized statements +{ + my $l = PublicInbox::Linkify->new; + my $u = 'http://example.com/'; + my $s = "(see: $u)"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq{(see: $u)}, 'trailing ) not in URL'); +} + { my $l = PublicInbox::Linkify->new; my $u = 'http://example.com/url-with-trailing-semicolon'; @@ -57,4 +67,26 @@ use PublicInbox::Linkify; is($s, qq(hello $u world), "root + fragment"); } +# Markdown compatibility +{ + my $l = PublicInbox::Linkify->new; + my $u = 'http://example.com/'; + my $s = "[markdown]($u)"; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq![markdown]($u)!, 'Markdown-compatible'); + + $s = qq![markdown]($u "title")!; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq![markdown]($u "title")!, + 'Markdown title compatible'); + + $s = qq![markdown]($u).!; + $s = $l->linkify_1($s); + $s = $l->linkify_2($s); + is($s, qq![markdown]($u).!, + 'Markdown-compatible end of sentence'); +} + done_testing();