do not match hashtags consisting entirely of numbers

This commit is contained in:
Egor Kislitsyn 2019-02-21 14:30:59 +07:00
parent 282762e9d5
commit ab58d24c03
2 changed files with 17 additions and 2 deletions

View file

@ -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

View file

@ -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"