logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 625fec58ffb598be9a2afaf693c923ccf90a465d
parent: 8a0ee011ac7b679876eb7d81547dde416c208af1
Author: kaniini <nenolod@gmail.com>
Date:   Fri, 24 May 2019 20:34:23 +0000

Merge branch 'bugfix/mention-all-people-in-beginning-dm' into 'develop'

Mention all people in the beginning of DM

Closes #924

See merge request pleroma/pleroma!1194

Diffstat:

Mlib/pleroma/formatter.ex2+-
Mtest/formatter_test.exs10++++++----
2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Formatter do alias Pleroma.User 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 @markdown_characters_regex ~r/(`|\*|_|{|}|[|]|\(|\)|#|\+|-|\.|!)/ diff --git a/test/formatter_test.exs b/test/formatter_test.exs @@ -184,17 +184,19 @@ defmodule Pleroma.FormatterTest do test "given the 'safe_mention' option, it will only mention people in the beginning" do user = insert(:user) - _other_user = insert(:user) + other_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) - assert mentions == [{"@#{user.nickname}", user}] + assert mentions == [{"@#{user.nickname}", user}, {"@#{other_user.nickname}", other_user}] assert expected_text == "<span class='h-card'><a data-user='#{user.id}' class='u-url mention' href='#{ 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 }' class='u-url mention' href='#{third_user.ap_id}'>@<span>#{third_user.nickname}</span></a></span>" end