mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Emoji 5.0 support
This commit is contained in:
33
test/javascripts/acceptance/emoji-test.js.es6
Normal file
33
test/javascripts/acceptance/emoji-test.js.es6
Normal file
@@ -0,0 +1,33 @@
|
||||
import { acceptance } from "helpers/qunit-helpers";
|
||||
|
||||
acceptance("Emoji", { loggedIn: true });
|
||||
|
||||
test("emoji is cooked properly", () => {
|
||||
visit("/t/internationalization-localization/280");
|
||||
click('#topic-footer-buttons .btn.create');
|
||||
|
||||
fillIn('.d-editor-input', "this is an emoji :blonde_woman:");
|
||||
andThen(() => {
|
||||
equal(find('.d-editor-preview:visible').html().trim(), "<p>this is an emoji <img src=\"/images/emoji/emoji_one/blonde_woman.png?v=5\" title=\":blonde_woman:\" class=\"emoji\" alt=\":blonde_woman:\"></p>");
|
||||
});
|
||||
|
||||
click('#reply-control .btn.create');
|
||||
andThen(() => {
|
||||
equal(find('.topic-post:last .cooked p').html().trim(), "this is an emoji <img src=\"/images/emoji/emoji_one/blonde_woman.png?v=5\" title=\":blonde_woman:\" class=\"emoji\" alt=\":blonde_woman:\">");
|
||||
});
|
||||
});
|
||||
|
||||
test("skin toned emoji is cooked properly", () => {
|
||||
visit("/t/internationalization-localization/280");
|
||||
click('#topic-footer-buttons .btn.create');
|
||||
|
||||
fillIn('.d-editor-input', "this is an emoji :blonde_woman:t5:");
|
||||
andThen(() => {
|
||||
equal(find('.d-editor-preview:visible').html().trim(), "<p>this is an emoji <img src=\"/images/emoji/emoji_one/blonde_woman/5.png?v=5\" title=\":blonde_woman:t5:\" class=\"emoji\" alt=\":blonde_woman:t5:\"></p>");
|
||||
});
|
||||
|
||||
click('#reply-control .btn.create');
|
||||
andThen(() => {
|
||||
equal(find('.topic-post:last .cooked p').html().trim(), "this is an emoji <img src=\"/images/emoji/emoji_one/blonde_woman/5.png?v=5\" title=\":blonde_woman:t5:\" class=\"emoji\" alt=\":blonde_woman:t5:\">");
|
||||
});
|
||||
});
|
||||
@@ -137,3 +137,16 @@ test("Reply as new message", () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
test("Updating the topic title with emojis", () => {
|
||||
visit("/t/internationalization-localization/280");
|
||||
click('#topic-title .fa-pencil');
|
||||
|
||||
fillIn('#edit-title', 'emojis title :bike: :blonde_woman:t6:');
|
||||
|
||||
click('#topic-title .submit-edit');
|
||||
|
||||
andThen(() => {
|
||||
equal(find('.fancy-title').html().trim(), 'emojis title <img src=\"/images/emoji/emoji_one/bike.png?v=5\" title=\"bike\" alt=\"bike\" class=\"emoji\"> <img src=\"/images/emoji/emoji_one/blonde_woman/6.png?v=5\" title=\"blonde_woman:t6\" alt=\"blonde_woman:t6\" class=\"emoji\">', 'it displays the new title with emojis');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -10,7 +10,7 @@ function testUnescape(input, expected, description) {
|
||||
test("emojiUnescape", () => {
|
||||
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 <img src='/images/emoji/emoji_one/slight_smile.png?v=3' title='slight_smile' alt='slight_smile' class='emoji'>", "emoticons are still supported");
|
||||
testUnescape("emoticons :)", `emoticons <img src='/images/emoji/emoji_one/slight_smile.png?v=${v}' title='slight_smile' alt='slight_smile' class='emoji'>`, "emoticons are still supported");
|
||||
testUnescape("With emoji :O: :frog: :smile:",
|
||||
`With emoji <img src='/images/emoji/emoji_one/o.png?v=${v}' title='O' alt='O' class='emoji'> <img src='/images/emoji/emoji_one/frog.png?v=${v}' title='frog' alt='frog' class='emoji'> <img src='/images/emoji/emoji_one/smile.png?v=${v}' title='smile' alt='smile' class='emoji'>`,
|
||||
"title with emoji");
|
||||
@@ -18,11 +18,13 @@ test("emojiUnescape", () => {
|
||||
testUnescape("(:frog:) :)", `(<img src='/images/emoji/emoji_one/frog.png?v=${v}' title='frog' alt='frog' class='emoji'>) <img src='/images/emoji/emoji_one/slight_smile.png?v=${v}' title='slight_smile' alt='slight_smile' class='emoji'>`, "non-word characters allowed next to emoji");
|
||||
testUnescape(":smile: hi", `<img src='/images/emoji/emoji_one/smile.png?v=${v}' title='smile' alt='smile' class='emoji'> hi`, "start of line");
|
||||
testUnescape("hi :smile:", `hi <img src='/images/emoji/emoji_one/smile.png?v=${v}' title='smile' alt='smile' class='emoji'>`, "end of line");
|
||||
testUnescape("hi :blonde_woman:t4:", `hi <img src='/images/emoji/emoji_one/blonde_woman/4.png?v=${v}' title='blonde_woman:t4' alt='blonde_woman:t4' class='emoji'>`, "support for skin tones");
|
||||
testUnescape("hi :blonde_woman:t4: :blonde_man:t6:", `hi <img src='/images/emoji/emoji_one/blonde_woman/4.png?v=${v}' title='blonde_woman:t4' alt='blonde_woman:t4' class='emoji'> <img src='/images/emoji/emoji_one/blonde_man/6.png?v=${v}' title='blonde_man:t6' alt='blonde_man:t6' class='emoji'>`, "support for multiple skin tones");
|
||||
testUnescape("hi :blonde_man:t6", "hi :blonde_man:t6", "end colon not optional for skin tones");
|
||||
|
||||
});
|
||||
|
||||
test("Emoji search", () => {
|
||||
|
||||
// able to find an alias
|
||||
equal(emojiSearch("+1").length, 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user