Tests: Make as many tests as possible async.
[akkoma] / test / pleroma / emoji_test.exs
index 1dd3c58c6c2a01216c4819234bb343008286fcf1..c99c9ef4c863fde77a2291df7b5ea2da455dedbf 100644 (file)
@@ -3,14 +3,28 @@
 # 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?("ね")
+
+      # Only accept fully-qualified (RGI) 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?("🏳️‍⚧️")
+
+      # Additionally, we accept regional indicators.
+      assert Emoji.is_unicode_emoji?("🇵")
+      assert Emoji.is_unicode_emoji?("🇴")
+      assert Emoji.is_unicode_emoji?("🇬")
     end
   end