Resolve follow activity from accept/reject without ID (#328)
[akkoma] / test / pleroma / emoji_test.exs
index 1dd3c58c6c2a01216c4819234bb343008286fcf1..deaab1e8b43ac02e542ffb4a70006933f2c93e5a 100644 (file)
@@ -1,16 +1,31 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.EmojiTest do
-  use ExUnit.Case
+  use ExUnit.Case, async: true
   alias Pleroma.Emoji
 
   describe "is_unicode_emoji?/1" do
     test "tells if a string is an unicode emoji" do
       refute Emoji.is_unicode_emoji?("X")
-      assert Emoji.is_unicode_emoji?("☂")
+      refute Emoji.is_unicode_emoji?("ね")
+
+      # Accept fully-qualified and unqualified emoji
+      # See http://www.unicode.org/reports/tr51/
+      refute Emoji.is_unicode_emoji?("❤")
+      refute Emoji.is_unicode_emoji?("☂")
+
       assert Emoji.is_unicode_emoji?("🥺")
+      assert Emoji.is_unicode_emoji?("🤰")
+      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