65f575fd44c003629ba41ed02d3743174b83a58f
[akkoma] / test / pleroma / emoji_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.EmojiTest do
6 use ExUnit.Case
7 alias Pleroma.Emoji
8
9 describe "is_unicode_emoji?/1" do
10 test "tells if a string is an unicode emoji" do
11 refute Emoji.is_unicode_emoji?("X")
12 refute Emoji.is_unicode_emoji?("ね")
13
14 assert Emoji.is_unicode_emoji?("☂")
15 assert Emoji.is_unicode_emoji?("🥺")
16 assert Emoji.is_unicode_emoji?("🤰")
17 assert Emoji.is_unicode_emoji?("❤️")
18 end
19 end
20
21 describe "get_all/0" do
22 setup do
23 emoji_list = Emoji.get_all()
24 {:ok, emoji_list: emoji_list}
25 end
26
27 test "first emoji", %{emoji_list: emoji_list} do
28 [emoji | _others] = emoji_list
29 {code, %Emoji{file: path, tags: tags}} = emoji
30
31 assert tuple_size(emoji) == 2
32 assert is_binary(code)
33 assert is_binary(path)
34 assert is_list(tags)
35 end
36
37 test "random emoji", %{emoji_list: emoji_list} do
38 emoji = Enum.random(emoji_list)
39 {code, %Emoji{file: path, tags: tags}} = emoji
40
41 assert tuple_size(emoji) == 2
42 assert is_binary(code)
43 assert is_binary(path)
44 assert is_list(tags)
45 end
46 end
47 end