From 91281b3b75dd7079839d8b66db34e153cba067ab Mon Sep 17 00:00:00 2001 From: Vincent DURMONT Date: Sun, 12 Feb 2017 16:41:52 -0800 Subject: [PATCH] Fix #14: add an isOnlyEmojis method --- .../java/com/vdurmont/emoji/EmojiManager.java | 11 ++++++ .../com/vdurmont/emoji/EmojiManagerTest.java | 36 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/src/main/java/com/vdurmont/emoji/EmojiManager.java b/src/main/java/com/vdurmont/emoji/EmojiManager.java index 0b929943..7a238657 100644 --- a/src/main/java/com/vdurmont/emoji/EmojiManager.java +++ b/src/main/java/com/vdurmont/emoji/EmojiManager.java @@ -130,6 +130,17 @@ public static boolean isEmoji(String string) { EMOJI_TRIE.isEmoji(string.toCharArray()).exactMatch(); } + /** + * Tests if a given String only contains emojis. + * + * @param string the string to test + * + * @return true if the string only contains emojis, false else + */ + public static boolean isOnlyEmojis(String string) { + return string != null && EmojiParser.removeAllEmojis(string).isEmpty(); + } + /** * Checks if sequence of chars contain an emoji. * @param sequence Sequence of char that may contain emoji in full or diff --git a/src/test/java/com/vdurmont/emoji/EmojiManagerTest.java b/src/test/java/com/vdurmont/emoji/EmojiManagerTest.java index 6dc2571b..e75f665a 100644 --- a/src/test/java/com/vdurmont/emoji/EmojiManagerTest.java +++ b/src/test/java/com/vdurmont/emoji/EmojiManagerTest.java @@ -121,6 +121,42 @@ public void isEmoji_for_an_emoji_and_other_chars_returns_false() { assertFalse(isEmoji); } + @Test + public void isOnlyEmojis_for_an_emoji_returns_true() { + // GIVEN + String str = "😀"; + + // WHEN + boolean isEmoji = EmojiManager.isOnlyEmojis(str); + + // THEN + assertTrue(isEmoji); + } + + @Test + public void isOnlyEmojis_for_emojis_returns_true() { + // GIVEN + String str = "😀😀😀"; + + // WHEN + boolean isEmoji = EmojiManager.isOnlyEmojis(str); + + // THEN + assertTrue(isEmoji); + } + + @Test + public void isOnlyEmojis_for_random_string_returns_false() { + // GIVEN + String str = "😀a"; + + // WHEN + boolean isEmoji = EmojiManager.isOnlyEmojis(str); + + // THEN + assertFalse(isEmoji); + } + @Test public void getAllTags_returns_the_tags() { // GIVEN