commit: fa0d0b602f10a3671ff00151028990c57d8ab447
parent a0aece3223e20e3a1b978261dd718ce2834561d2
Author: lain <lain@soykaf.club>
Date: Thu, 3 Dec 2020 16:17:39 +0100
Emoji: Also accept regional indicators
Diffstat:
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex
@@ -104,6 +104,11 @@ defmodule Pleroma.Emoji do
@external_resource "lib/pleroma/emoji-test.txt"
+ regional_indicators =
+ Enum.map(127_462..127_487, fn codepoint ->
+ <<codepoint::utf8>>
+ end)
+
emojis =
@external_resource
|> File.read!()
@@ -125,6 +130,8 @@ defmodule Pleroma.Emoji do
end)
|> Enum.uniq()
+ emojis = emojis ++ regional_indicators
+
for emoji <- emojis do
def is_unicode_emoji?(unquote(emoji)), do: true
end
diff --git a/test/pleroma/emoji_test.exs b/test/pleroma/emoji_test.exs
@@ -20,6 +20,11 @@ defmodule Pleroma.EmojiTest do
assert Emoji.is_unicode_emoji?("🤰")
assert Emoji.is_unicode_emoji?("❤️")
assert Emoji.is_unicode_emoji?("🏳️⚧️")
+
+ # Additionally, we accept regional indicators.
+ assert Emoji.is_unicode_emoji?("🇵")
+ assert Emoji.is_unicode_emoji?("🇴")
+ assert Emoji.is_unicode_emoji?("🇬")
end
end