forked from AkkomaGang/akkoma
Mention all people in the beginning of DM
This commit is contained in:
parent
8a0ee011ac
commit
bbea5691da
2 changed files with 7 additions and 5 deletions
|
@ -8,7 +8,7 @@ defmodule Pleroma.Formatter do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.MediaProxy
|
alias Pleroma.Web.MediaProxy
|
||||||
|
|
||||||
@safe_mention_regex ~r/^(\s*(?<mentions>@.+?\s+)+)(?<rest>.*)/s
|
@safe_mention_regex ~r/^(\s*(?<mentions>(@.+?\s+){1,})+)(?<rest>.*)/s
|
||||||
@link_regex ~r"((?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~%:/?#[\]@!\$&'\(\)\*\+,;=.]+)|[0-9a-z+\-\.]+:[0-9a-z$-_.+!*'(),]+"ui
|
@link_regex ~r"((?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~%:/?#[\]@!\$&'\(\)\*\+,;=.]+)|[0-9a-z+\-\.]+:[0-9a-z$-_.+!*'(),]+"ui
|
||||||
@markdown_characters_regex ~r/(`|\*|_|{|}|[|]|\(|\)|#|\+|-|\.|!)/
|
@markdown_characters_regex ~r/(`|\*|_|{|}|[|]|\(|\)|#|\+|-|\.|!)/
|
||||||
|
|
||||||
|
|
|
@ -184,17 +184,19 @@ test "does not give a replacement for single-character local nicknames who don't
|
||||||
|
|
||||||
test "given the 'safe_mention' option, it will only mention people in the beginning" do
|
test "given the 'safe_mention' option, it will only mention people in the beginning" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
_other_user = insert(:user)
|
other_user = insert(:user)
|
||||||
third_user = insert(:user)
|
third_user = insert(:user)
|
||||||
text = " @#{user.nickname} hey dude i hate @#{third_user.nickname}"
|
text = " @#{user.nickname} @#{other_user.nickname} hey dudes i hate @#{third_user.nickname}"
|
||||||
{expected_text, mentions, [] = _tags} = Formatter.linkify(text, safe_mention: true)
|
{expected_text, mentions, [] = _tags} = Formatter.linkify(text, safe_mention: true)
|
||||||
|
|
||||||
assert mentions == [{"@#{user.nickname}", user}]
|
assert mentions == [{"@#{user.nickname}", user}, {"@#{other_user.nickname}", other_user}]
|
||||||
|
|
||||||
assert expected_text ==
|
assert expected_text ==
|
||||||
"<span class='h-card'><a data-user='#{user.id}' class='u-url mention' href='#{
|
"<span class='h-card'><a data-user='#{user.id}' class='u-url mention' href='#{
|
||||||
user.ap_id
|
user.ap_id
|
||||||
}'>@<span>#{user.nickname}</span></a></span> hey dude i hate <span class='h-card'><a data-user='#{
|
}'>@<span>#{user.nickname}</span></a></span> <span class='h-card'><a data-user='#{
|
||||||
|
other_user.id
|
||||||
|
}' class='u-url mention' href='#{other_user.ap_id}'>@<span>#{other_user.nickname}</span></a></span> hey dudes i hate <span class='h-card'><a data-user='#{
|
||||||
third_user.id
|
third_user.id
|
||||||
}' class='u-url mention' href='#{third_user.ap_id}'>@<span>#{third_user.nickname}</span></a></span>"
|
}' class='u-url mention' href='#{third_user.ap_id}'>@<span>#{third_user.nickname}</span></a></span>"
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue