From 2014fb4a6142b4b77232b12191fb9ae4c5d003c3 Mon Sep 17 00:00:00 2001 From: Paillat Date: Sun, 4 May 2025 01:35:32 +0200 Subject: [PATCH] Fix emoji pattern to work without spaces and enhance test coverage for emojize function (#8) --- src/dismoji/__init__.py | 2 +- tests/emoji_test.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/dismoji/__init__.py b/src/dismoji/__init__.py index 260c105..cc4e82b 100644 --- a/src/dismoji/__init__.py +++ b/src/dismoji/__init__.py @@ -14,7 +14,7 @@ with EMOJIS_PATH.open("r", encoding="utf-8") as f: EMOJI_MAPPING: dict[str, str] = {k: EMOJIS["emojis"][v]["surrogates"] for k, v in EMOJIS["nameToEmoji"].items()} -EMOJI_PATTERN = re.compile(r"(? str: diff --git a/tests/emoji_test.py b/tests/emoji_test.py index 46f4470..93420ef 100644 --- a/tests/emoji_test.py +++ b/tests/emoji_test.py @@ -41,3 +41,30 @@ def test_multiple_emojis() -> None: def test_complex_sentence() -> None: """Test emojize function with a complex sentence.""" assert emojize("Hello :wave:, what's up? :smile: :white_check_mark: :smile:") == "Hello πŸ‘‹, what's up? πŸ˜„ βœ… πŸ˜„" + + +def test_spaces() -> None: + """Test emojize function with spaces.""" + space_tests = [ + ("Hello :smile::smile:", "Hello πŸ˜„πŸ˜„"), + ("Hii what's up :wave:?", "Hii what's up πŸ‘‹?"), + ("Hello:wave: :smile:", "HelloπŸ‘‹ πŸ˜„"), + ("Hellooo :wave:hru?", "Hellooo πŸ‘‹hru?"), + ("Hii:wave:hru?", "HiiπŸ‘‹hru?"), + ] + for input_str, expected_output in space_tests: + assert emojize(input_str) == expected_output + + +def test_emoji_with_special_characters() -> None: + """Test emojize function with special characters.""" + special_char_tests = [ + ("Hello :smile:!", "Hello πŸ˜„!"), + ("Hello :smile:?", "Hello πŸ˜„?"), + ("Hello :smile::smile:!", "Hello πŸ˜„πŸ˜„!"), + ("Hello :smile::smile:?", "Hello πŸ˜„πŸ˜„?"), + ("Hello :smile::smile::smile:!", "Hello πŸ˜„πŸ˜„πŸ˜„!"), + ("Hello :smile::smile::smile:?", "Hello πŸ˜„πŸ˜„πŸ˜„?"), + ] + for input_str, expected_output in special_char_tests: + assert emojize(input_str) == expected_output