Merge remote-tracking branch 'pleroma/develop' into optional-config
[akkoma] / lib / pleroma / emoji / loader.ex
index 028cf5ea86487a9802ddde3eb002cc5d0929b90d..67acd7069ac6f10fa75691ea55e6c89bf03d2e49 100644 (file)
@@ -15,6 +15,8 @@ defmodule Pleroma.Emoji.Loader do
 
   require Logger
 
+  @mix_env Mix.env()
+
   @type pattern :: Regex.t() | module() | String.t()
   @type patterns :: pattern() | [pattern()]
   @type group_patterns :: keyword(patterns())
@@ -77,10 +79,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)