summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-12-03 16:17:39 +0100
committerlain <lain@soykaf.club>2020-12-03 16:17:39 +0100
commitfa0d0b602f10a3671ff00151028990c57d8ab447 (patch)
treeb6ef3aeaf36fec7af4538cf673d7490e77dfc5b3
parenta0aece3223e20e3a1b978261dd718ce2834561d2 (diff)
Emoji: Also accept regional indicators
-rw-r--r--lib/pleroma/emoji.ex7
-rw-r--r--test/pleroma/emoji_test.exs5
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex
index 201212779..513fb59f8 100644
--- 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
index 97af25280..9cfd7b46b 100644
--- 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