zulip/frontend_tests/node_tests/emoji.js

78 lines
2.4 KiB
JavaScript

set_global("$", global.make_zjquery());
set_global("page_params", {
emojiset: "google",
realm_emoji: {},
});
set_global("upload_widget", {});
zrequire("emoji");
zrequire("settings_emoji");
run_test("build_emoji_upload_widget", () => {
let build_widget_stub = false;
upload_widget.build_widget = function (
get_file_input,
file_name_field,
input_error,
clear_button,
upload_button,
) {
assert.deepEqual(get_file_input(), $("#emoji_file_input"));
assert.deepEqual(file_name_field, $("#emoji-file-name"));
assert.deepEqual(input_error, $("#emoji_file_input_error"));
assert.deepEqual(clear_button, $("#emoji_image_clear_button"));
assert.deepEqual(upload_button, $("#emoji_upload_button"));
build_widget_stub = true;
};
settings_emoji.build_emoji_upload_widget();
assert(build_widget_stub);
});
run_test("get_canonical_name", () => {
emoji.active_realm_emojis = new Map(
Object.entries({
realm_emoji: "TBD",
}),
);
let canonical_name = emoji.get_canonical_name("realm_emoji");
assert.equal(canonical_name, "realm_emoji");
canonical_name = emoji.get_canonical_name("thumbs_up");
assert.equal(canonical_name, "+1");
canonical_name = emoji.get_canonical_name("+1");
assert.equal(canonical_name, "+1");
canonical_name = emoji.get_canonical_name("airplane");
assert.equal(canonical_name, "airplane");
blueslip.expect("error", "Invalid emoji name: non_existent");
emoji.get_canonical_name("non_existent");
});
function set_up_spain_realm_emoji_for_test() {
const realm_emojis = {
101: {
id: 101,
name: "spain",
source_url: "/some/path/to/spain.png",
deactivated: false,
},
};
emoji.update_emojis(realm_emojis);
}
run_test("get_emoji_* API", () => {
assert.equal(emoji.get_emoji_name("1f384"), "holiday_tree");
assert.equal(emoji.get_emoji_name("1f951"), "avocado");
assert.equal(emoji.get_emoji_name("bogus"), undefined);
assert.equal(emoji.get_emoji_codepoint("avocado"), "1f951");
assert.equal(emoji.get_emoji_codepoint("holiday_tree"), "1f384");
assert.equal(emoji.get_emoji_codepoint("bogus"), undefined);
assert.equal(emoji.get_realm_emoji_url("spain"), undefined);
set_up_spain_realm_emoji_for_test();
assert.equal(emoji.get_realm_emoji_url("spain"), "/some/path/to/spain.png");
});