Merge branch 'bugfix/notice-external-redirect' into 'develop'
[akkoma] / lib / pleroma / emoji / loader.ex
index 4f4ee51d1345e1b17efb6aaf841466f36d8b18b7..cc25dabf926255aa395ffd5fe81555e404d4b987 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Emoji.Loader do
@@ -77,10 +77,19 @@ defmodule Pleroma.Emoji.Loader do
     # it should run even if there are no emoji packs
     shortcode_globs = Config.get([:emoji, :shortcode_globs], [])
 
+    # for testing emoji.txt entries we do not want exposed in normal operation
+    test_emoji =
+      if Mix.env() == :test do
+        load_from_file("test/config/emoji.txt", emoji_groups)
+      else
+        []
+      end
+
     emojis_txt =
       (load_from_file("config/emoji.txt", emoji_groups) ++
          load_from_file("config/custom_emoji.txt", emoji_groups) ++
-         load_from_globs(shortcode_globs, emoji_groups))
+         load_from_globs(shortcode_globs, emoji_groups) ++
+         test_emoji)
       |> Enum.reject(fn value -> value == nil end)
 
     Enum.map(emojis ++ emojis_txt, &prepare_emoji/1)
@@ -108,7 +117,7 @@ defmodule Pleroma.Emoji.Loader do
       if File.exists?(emoji_txt) do
         load_from_file(emoji_txt, emoji_groups)
       else
-        extensions = Pleroma.Config.get([:emoji, :pack_extensions])
+        extensions = Config.get([:emoji, :pack_extensions])
 
         Logger.info(
           "No emoji.txt found for pack \"#{pack_name}\", assuming all #{