Пример #1
0
        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);
        }
Пример #2
0
        public void NumberShouldNotBeConvertedToShortname()
        {
            string text        = "2";
            string notexpected = ":digit_two:";
            string actual      = EmojiOne.ToShort(text);

            Assert.AreNotEqual(notexpected, actual);
        }
Пример #3
0
        public void AsciiSymbolsAndDigits()
        {
            string text     = @" !""#$%&'()*+,-./0123456789:;<=>?@";
            string expected = @" !""#$%&'()*+,-./0123456789:;<=>?@";
            string actual   = EmojiOne.ToShort(text);

            Assert.AreEqual(expected, actual);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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");
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }