Files
zulip/frontend_tests/node_tests/emoji_picker.js
rht 6bfebd5558 emoji: Enable Japanese characters in the symbol section.
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
2021-08-31 06:42:36 -07:00

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,
);
});