X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Fformatter_test.exs;h=95558089bd784f2720b978eafa41040d2dd1e243;hb=a8bd120ea620d3bb86018318bbc013de2c613af0;hp=e89b36663ce6da79974e243a9c0a2f64fac826e4;hpb=8b0c222b436d9473f868087fb4eaf78a0b1e7052;p=akkoma diff --git a/test/formatter_test.exs b/test/formatter_test.exs index e89b36663..95558089b 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -20,10 +20,10 @@ defmodule Pleroma.FormatterTest do describe ".add_links" do test "turning urls into links" do - text = "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla." + text = "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla ." expected = - "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla." + "Hey, check out https://www.youtube.com/watch?v=8Zg1-TufF%20zY?x=1&y=2#blabla ." assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected @@ -85,6 +85,12 @@ defmodule Pleroma.FormatterTest do "https://pleroma.com https://pleroma.com/sucks" assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected + + text = "xmpp:contact@hacktivis.me" + + expected = "xmpp:contact@hacktivis.me" + + assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected end end @@ -109,14 +115,43 @@ defmodule Pleroma.FormatterTest do Enum.each(subs, fn {uuid, _} -> assert String.contains?(text, uuid) end) expected_text = - "@gsimg According to @gsimg According to @archaeme, that is @daggsy. Also hello @archaeme, that is @daggsy. Also hello @archaeme" assert expected_text == Formatter.finalize({subs, text}) 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 = "@o 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 describe ".parse_tags" do