diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-04-11 15:51:52 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-04-11 15:51:52 +0700 |
commit | 0f2f7d2cec8297b1b5645643d7584cde561ce628 (patch) | |
tree | aa618de9dc399de2e3abf37ad9ecf66d8cb9761f /test/formatter_test.exs | |
parent | 22ac2288be498bd6a5a6fefe2dc6d2e260a8dc39 (diff) | |
parent | e5d553aa45ffa218b0695d7976f012bfc1dcbafe (diff) | |
download | pleroma-0f2f7d2cec8297b1b5645643d7584cde561ce628.tar.gz pleroma-0f2f7d2cec8297b1b5645643d7584cde561ce628.zip |
Merge remote-tracking branch 'pleroma/develop' into feature/disable-account
Diffstat (limited to 'test/formatter_test.exs')
-rw-r--r-- | test/formatter_test.exs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/test/formatter_test.exs b/test/formatter_test.exs index 7d8864bf4..e74985c4e 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -181,6 +181,31 @@ defmodule Pleroma.FormatterTest do expected_text = "@a hi" assert {^expected_text, [] = _mentions, [] = _tags} = Formatter.linkify(text) end + + test "given the 'safe_mention' option, it will only mention people in the beginning" do + user = insert(:user) + _other_user = insert(:user) + third_user = insert(:user) + text = " @#{user.nickname} hey dude i hate @#{third_user.nickname}" + {expected_text, mentions, [] = _tags} = Formatter.linkify(text, safe_mention: true) + + assert mentions == [{"@#{user.nickname}", 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='#{ + third_user.id + }' class='u-url mention' href='#{third_user.ap_id}'>@<span>#{third_user.nickname}</span></a></span>" + end + + test "given the 'safe_mention' option, it will still work without any mention" do + text = "A post without any mention" + {expected_text, mentions, [] = _tags} = Formatter.linkify(text, safe_mention: true) + + assert mentions == [] + assert expected_text == text + end end describe ".parse_tags" do @@ -246,7 +271,9 @@ defmodule Pleroma.FormatterTest do test "it returns the emoji used in the text" do text = "I love :moominmamma:" - assert Formatter.get_emoji(text) == [{"moominmamma", "/finmoji/128px/moominmamma-128.png"}] + assert Formatter.get_emoji(text) == [ + {"moominmamma", "/finmoji/128px/moominmamma-128.png", "Finmoji"} + ] end test "it returns a nice empty result when no emojis are present" do |