module('emoji'); var testUnescape = function(input, expected, description) { var unescaped = Discourse.Emoji.unescape(input); equal(unescaped, expected, description); }; test("Emoji.unescape", function(){ testUnescape("Not emoji :O) :frog) :smile)", "Not emoji :O) :frog) :smile)", "title without emoji"); testUnescape("Not emoji :frog :smile", "Not emoji :frog :smile", "end colon is not optional"); testUnescape("emoticons :)", "emoticons slightly_smiling", "emoticons are still supported"); testUnescape("With emoji :O: :frog: :smile:", "With emoji O frog smile", "title with emoji"); testUnescape("a:smile:a", "a:smile:a", "word characters not allowed next to emoji"); testUnescape("(:frog:) :)", "(frog) slightly_smiling", "non-word characters allowed next to emoji"); testUnescape(":smile: hi", "smile hi", "start of line"); testUnescape("hi :smile:", "hi smile", "end of line"); }); test("Emoji.search", function(){ // able to find an alias equal(Discourse.Emoji.search("coll").length, 1); });