test: add testcase for formatter issue #163

This commit is contained in:
William Pitcock 2018-08-24 18:14:19 +00:00
parent e416469a40
commit 14d1187702

View File

@ -123,6 +123,35 @@ test "gives a replacement for user links" do
assert expected_text == Formatter.finalize({subs, text}) assert expected_text == Formatter.finalize({subs, text})
end end
test "gives a replacement for single-character local nicknames" do
text = "@o hi"
o = insert(:user, %{nickname: "o"})
mentions = Formatter.parse_mentions(text)
{subs, text} = Formatter.add_user_links({[], text}, mentions)
assert length(subs) == 1
Enum.each(subs, fn {uuid, _} -> assert String.contains?(text, uuid) end)
expected_text = "<span><a class='mention' href='#{o.ap_id}'>@<span>o</span></a></span> hi"
assert expected_text == Formatter.finalize({subs, text})
end
test "does not give a replacement for single-character local nicknames who don't exist" do
text = "@a hi"
mentions = Formatter.parse_mentions(text)
{subs, text} = Formatter.add_user_links({[], text}, mentions)
assert length(subs) == 0
Enum.each(subs, fn {uuid, _} -> assert String.contains?(text, uuid) end)
expected_text = "@a hi"
assert expected_text == Formatter.finalize({subs, text})
end
end end
describe ".parse_tags" do describe ".parse_tags" do