package humanize.emoji; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; import java.util.List; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class TestEmojiApi { private static final String SIMPLE_MOJI_TXT = "Lorem ipsum \u2639 dolorem\uD83D\uDD36 and dolorem sit amet"; @BeforeMethod public void setUp() { EmojiApi.configure().assetsURL("http://cdn.emoji.com/img/"); } @Test public void testByHexCode() { EmojiChar ec = EmojiApi.byHexCode("1f536"); assertNotNull(ec); } @Test public void testByName() { EmojiChar ec = EmojiApi.byName("green heart"); assertNotNull(ec); } @Test public void testByUnicode() { EmojiChar ec = EmojiApi.byUnicode("\uD83D\uDD36"); assertNotNull(ec); } @Test public void testImageTagByUnicode() { String img = EmojiApi.imageTagByUnicode("\uD83D\uDD36"); assertEquals(img, "<img class=\"emoji\" src=\"http://cdn.emoji.com/img/1f536.png\" " + "alt=\"large orange diamond\" />"); } @Test public void testImageTagByUnicodeRaw() { String img = EmojiApi.imageTagByUnicode("❤"); assertEquals(img, "<img class=\"emoji\" src=\"http://cdn.emoji.com/img/2764.png\" " + "alt=\"heavy black heart\" />"); } @Test public void testReplaceUnicodeWithImagesAssetsURL() { String replaced = EmojiApi.replaceUnicodeWithImages(SIMPLE_MOJI_TXT); assertEquals(replaced, "Lorem ipsum <img class=\"emoji\" src=\"http://cdn.emoji.com/img/2639.png\" " + "alt=\"white frowning face\" /> dolorem<img class=\"emoji\" " + "src=\"http://cdn.emoji.com/img/1f536.png\" alt=\"large orange diamond\" /> " + "and dolorem sit amet"); replaced = EmojiApi.replaceUnicodeWithImages("I ❤ Emoji"); assertEquals(replaced, "I <img class=\"emoji\" src=\"http://cdn.emoji.com/img/2764.png\" " + "alt=\"heavy black heart\" /> Emoji"); } @Test(expectedExceptions = IllegalArgumentException.class) public void testReplaceUnicodeWithImagesNoAssetsURLException() { EmojiApi.configure().assetsURL((String) null); EmojiApi.replaceUnicodeWithImages(SIMPLE_MOJI_TXT); } @Test public void testSearchByAnnotations() { List<EmojiChar> results = EmojiApi.search("cat", "smile"); assertEquals(results.size(), 4); } }