mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 17:36:27 +00:00
This was originally meant to fix the emoji mapping conflict during a Slack import. In Slack, 🎉 and ㊗️ have different symbols, but they both map to 🎉 in Zulip prior to this commit. ㊗️ now refers to the Japanese character version, as is observed in Matrix and Slack. I expand the fix to include all other Japanese characters. Matrix.org and Slack already have those characters in their symbol section, and so this is to reach feature parity. See the discussion thread in https://chat.zulip.org/#narrow/stream/9-issues/topic/duplicate.20emoji.20in.20data.20import
63 lines
2.3 KiB
JavaScript
63 lines
2.3 KiB
JavaScript
"use strict";
|
|
|
|
const {strict: assert} = require("assert");
|
|
|
|
const _ = require("lodash");
|
|
|
|
const {zrequire} = require("../zjsunit/namespace");
|
|
const {run_test} = require("../zjsunit/test");
|
|
|
|
const emoji = zrequire("../shared/js/emoji");
|
|
const emoji_picker = zrequire("emoji_picker");
|
|
|
|
const emoji_codes = zrequire("../generated/emoji/emoji_codes.json");
|
|
|
|
run_test("initialize", () => {
|
|
emoji.initialize({
|
|
realm_emoji: {},
|
|
emoji_codes,
|
|
});
|
|
emoji_picker.initialize();
|
|
|
|
const complete_emoji_catalog = _.sortBy(emoji_picker.complete_emoji_catalog, "name");
|
|
assert.equal(complete_emoji_catalog.length, 11);
|
|
assert.equal(emoji.emojis_by_name.size, 1050);
|
|
|
|
let total_emoji_in_categories = 0;
|
|
|
|
function assert_emoji_category(ele, icon, num) {
|
|
assert.equal(ele.icon, icon);
|
|
assert.equal(ele.emojis.length, num);
|
|
function check_emojis(val) {
|
|
for (const this_emoji of ele.emojis) {
|
|
assert.equal(this_emoji.is_realm_emoji, val);
|
|
}
|
|
}
|
|
if (ele.name === "Custom") {
|
|
check_emojis(true);
|
|
} else {
|
|
check_emojis(false);
|
|
total_emoji_in_categories += ele.emojis.length;
|
|
}
|
|
}
|
|
const popular_emoji_count = 6;
|
|
const zulip_emoji_count = 1;
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-car", 170);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-hashtag", 195);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-smile-o", 129);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-star-o", popular_emoji_count);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-thumbs-o-up", 102);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-lightbulb-o", 189);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-cutlery", 92);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-flag", 5);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-cog", 1);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-leaf", 104);
|
|
assert_emoji_category(complete_emoji_catalog.pop(), "fa-soccer-ball-o", 63);
|
|
|
|
// The popular emoji appear twice in the picker, and the zulip emoji is special
|
|
assert.equal(
|
|
emoji.emojis_by_name.size,
|
|
total_emoji_in_categories - popular_emoji_count + zulip_emoji_count,
|
|
);
|
|
});
|