commit: ab58d24c038e4de51dfb9913b88dbca1fc67d53d
parent 282762e9d5c8116b7f5a1f7f93f33487b773ffa4
Author: Egor Kislitsyn <egor@kislitsyn.com>
Date: Thu, 21 Feb 2019 14:30:59 +0700
do not match hashtags consisting entirely of numbers
Diffstat:
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/lib/auto_linker/parser.ex b/lib/auto_linker/parser.ex
@@ -362,8 +362,11 @@ defmodule AutoLinker.Parser do
def match_hashtag(buffer) do
case Regex.run(@match_hashtag, buffer, capture: [:tag]) do
- [hashtag] -> hashtag
- _ -> nil
+ [hashtag] ->
+ if Regex.match?(~r/#\d+$/, hashtag), do: nil, else: hashtag
+
+ _ ->
+ nil
end
end
diff --git a/test/auto_linker_test.exs b/test/auto_linker_test.exs
@@ -152,6 +152,18 @@ defmodule AutoLinkerTest do
) == expected
end
+ test "must have non-numbers" do
+ expected = "<a href=\"/t/1ok\">#1ok</a> #42 #7"
+
+ assert AutoLinker.link("#1ok #42 #7",
+ hashtag: true,
+ hashtag_prefix: "/t/",
+ class: false,
+ rel: false,
+ new_window: false
+ ) == expected
+ end
+
test "do not turn urls with hashes into hashtags" do
text = "google.com#test #test google.com/#test #tag"