public void Diversity() { string text = "👍"; string expected = ":thumbsup:"; string actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); text = "👍🏻"; expected = ":thumbsup_tone1:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); expected = $@"<img class=""emojione"" alt=""👍🏻"" title="":thumbsup_tone1:"" src=""{EmojiOne.ImagePath}{EmojiOne.EmojiSize}/1f44d-1f3fb.png"" />"; actual = EmojiOne.ToImage(text); Assert.AreEqual(expected, actual); expected = @"<span class=""emojione emojione-32-diversity _1f44d-1f3fb"" title="":thumbsup_tone1:"">👍🏻</span>"; actual = EmojiOne.ToImage(text, sprite: true); Assert.AreEqual(expected, actual); text = "👍🏿"; expected = ":thumbsup_tone5:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); expected = $@"<img class=""emojione"" alt=""👍🏿"" title="":thumbsup_tone5:"" src=""{EmojiOne.ImagePath}{EmojiOne.EmojiSize}/1f44d-1f3ff.png"" />"; actual = EmojiOne.ToImage(text); Assert.AreEqual(expected, actual); expected = @"<span class=""emojione emojione-32-diversity _1f44d-1f3ff"" title="":thumbsup_tone5:"">👍🏿</span>"; actual = EmojiOne.ToImage(text, sprite: true); Assert.AreEqual(expected, actual); }
public void NumberShouldNotBeConvertedToShortname() { string text = "2"; string notexpected = ":digit_two:"; string actual = EmojiOne.ToShort(text); Assert.AreNotEqual(notexpected, actual); }
public void AsciiSymbolsAndDigits() { string text = @" !""#$%&'()*+,-./0123456789:;<=>?@"; string expected = @" !""#$%&'()*+,-./0123456789:;<=>?@"; string actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); }
public void SkinToneEmoji() { string unicode = "👍"; string shortname = EmojiOne.ToShort(unicode); string expected = ":thumbsup:"; Assert.AreEqual(expected, shortname); unicode = "👍🏻"; shortname = EmojiOne.ToShort(unicode); expected = ":thumbsup_tone1:"; Assert.AreEqual(expected, shortname); unicode = "👍🏿"; shortname = EmojiOne.ToShort(unicode); expected = ":thumbsup_tone5:"; Assert.AreEqual(expected, shortname); }
public void Version224Emoji() { // test that new emoji from v2.2.4 works string text = ":first_place:"; string expected = $@"<img class=""emojione"" alt=""🥇"" src=""//cdn.jsdelivr.net/emojione/assets/png/1f947.png{EmojiOne.CacheBustParam}"" />"; string actual = EmojiOne.ShortnameToImage(text); Assert.AreEqual(expected, actual); text = ":avocado:"; expected = "🥑"; actual = EmojiOne.ShortnameToUnicode(text); Assert.AreEqual(expected, actual); text = "🖤"; expected = ":black_heart:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); }
public void FamilyEmoji() { string unicode = "👨👩👧👦"; string codepoint = EmojiOne.ToCodePoint(unicode); string expected = "1f468-200d-1f469-200d-1f467-200d-1f466"; Assert.AreEqual(expected, codepoint); unicode = EmojiOne.ToUnicode(codepoint); string shortname = EmojiOne.ToShort(unicode); expected = ":family_mwgb:"; Assert.AreEqual(expected, shortname); unicode = "👨👩👧👦"; shortname = EmojiOne.ToShort(unicode); expected = ":family_mwgb:"; Assert.AreEqual(expected, shortname, "Going from unicode > codepoint > unicode > shortname works, but going directly from unicode > shortname fails"); }
public void Version40Emoji() { // test that new emoji from v4.0 works string text = ":cold_face:"; string expected = $@"<img class=""emojione"" alt=""🥶"" title="":cold_face:"" src=""{EmojiOne.ImagePath}{EmojiOne.EmojiSize}/1f976.png"" />"; string actual = EmojiOne.ShortnameToImage(text); Assert.AreEqual(expected, actual); text = "🧁"; expected = ":cupcake:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); text = ":superhero:"; expected = "🦸"; actual = EmojiOne.ShortnameToUnicode(text); Assert.AreEqual(expected, actual); }
public void Version224Emoji() { // test that new emoji from v2.2.4 works string text = ":first_place:"; string expected = $@"<img class=""emojione"" alt=""🥇"" title="":first_place:"" src=""{EmojiOne.ImagePath}{EmojiOne.EmojiSize}/1f947.png"" />"; string actual = EmojiOne.ShortnameToImage(text); Assert.AreEqual(expected, actual); text = ":avocado:"; expected = "🥑"; actual = EmojiOne.ShortnameToUnicode(text); Assert.AreEqual(expected, actual); text = "🖤"; expected = ":black_heart:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); }
public void ToShort() { // to short string text = "Hello world! 😄 :smile:"; string expected = "Hello world! :smile: :smile:"; string actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // single unicode character conversion text = "🐌"; expected = ":snail:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // mixed ascii, regular unicode and duplicate emoji text = "👽 is not :alien: and 저 is not 👽 or 👽"; expected = ":alien: is not :alien: and 저 is not :alien: or :alien:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // multiline emoji string text = "💃\n💃"; expected = ":dancer:\n:dancer:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // single character with surrogate pair text = "9⃣"; expected = ":nine:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character mid sentence text = "The 🐌 is Emoji One's official mascot."; expected = "The :snail: is Emoji One's official mascot."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character mid sentence with a comma text = "The 🐌, is Emoji One's official mascot."; expected = "The :snail:, is Emoji One's official mascot."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at start of sentence text = "🐌 mail."; expected = ":snail: mail."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at start of sentence with apostrophe text = "🐌's are cool!"; expected = ":snail:'s are cool!"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence text = "Emoji One's official mascot is 🐌."; expected = "Emoji One's official mascot is :snail:."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence with alternate puncuation text = "Emoji One's official mascot is 🐌!"; expected = "Emoji One's official mascot is :snail:!"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence with preceeding colon text = "Emoji One's official mascot: 🐌"; expected = "Emoji One's official mascot: :snail:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character inside of IMG tag text = @"The <img class=""emojione"" alt=""🐌"" src=""//cdn.jsdelivr.net/emojione/assets/png/1f40c.png"" /> is Emoji One's official mascot."; expected = text; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // characters inside of OBJECT tag text = @"The <object class=""emojione"" data=""//cdn.jsdelivr.net/emojione/assets/svg/1f40c.svg"" type=""image/svg+xml"" standby=""🐌"">🐌</object> is Emoji One's official mascot."; expected = text; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // unicode alternate to short text = "#️⃣"; // 0023-fe0f-20e3 expected = ":hash:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); }
public void ToShort() { // to short string text = "Hello world! 😄 :smile:"; string expected = "Hello world! :smile: :smile:"; string actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // single unicode character conversion text = "🐌"; expected = ":snail:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // mixed ascii, regular unicode and duplicate emoji text = "👽 is not :alien: and 저 is not 👽 or 👽"; expected = ":alien: is not :alien: and 저 is not :alien: or :alien:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // multiline emoji string text = "💃\n💃"; expected = ":dancer:\n:dancer:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // single character with surrogate pair text = "9⃣"; expected = ":nine:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character mid sentence text = "The 🦄 is Emoji One's official mascot."; expected = "The :unicorn: is Emoji One's official mascot."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character mid sentence with a comma text = "The 🦄, is Emoji One's official mascot."; expected = "The :unicorn:, is Emoji One's official mascot."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at start of sentence text = "🐌 mail."; expected = ":snail: mail."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at start of sentence with apostrophe text = "🐌's are cool!"; expected = ":snail:'s are cool!"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence text = "Emoji One's official mascot is 🦄."; expected = "Emoji One's official mascot is :unicorn:."; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence with alternate puncuation text = "Emoji One's official mascot is 🦄!"; expected = "Emoji One's official mascot is :unicorn:!"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character at end of sentence with preceeding colon text = "Emoji One's official mascot: 🦄"; expected = "Emoji One's official mascot: :unicorn:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // character inside of IMG tag text = $@"The <img class=""emojione"" alt=""🦄"" src=""{EmojiOne.ImagePath}{EmojiOne.EmojiSize}/1f984.png"" /> is Emoji One's official mascot."; expected = text; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); // unicode alternate to short text = "#️⃣"; // 0023-fe0f-20e3 expected = ":hash:"; actual = EmojiOne.ToShort(text); Assert.AreEqual(expected, actual); }