node_tests: Skip unnecessary explicit uses of global.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2020-11-30 15:57:57 -08:00 committed by Steve Howell
parent fd84af2281
commit ce42d1194d
29 changed files with 187 additions and 193 deletions

View File

@ -361,6 +361,7 @@
"files": ["frontend_tests/**"], "files": ["frontend_tests/**"],
"globals": { "globals": {
"document": false, "document": false,
"navigator": false,
"window": false "window": false
}, },
"rules": { "rules": {

View File

@ -70,8 +70,8 @@ set_global("ui_util", {});
// Setting these up so that we can test that links to uploads within messages are // Setting these up so that we can test that links to uploads within messages are
// automatically converted to server relative links. // automatically converted to server relative links.
global.document.location.protocol = "https:"; document.location.protocol = "https:";
global.document.location.host = "foo.com"; document.location.host = "foo.com";
zrequire("zcommand"); zrequire("zcommand");
zrequire("compose_ui"); zrequire("compose_ui");
@ -542,10 +542,10 @@ run_test("markdown_shortcuts", () => {
let compose_value = $("#compose_textarea").val(); let compose_value = $("#compose_textarea").val();
let selected_word = ""; let selected_word = "";
global.document.queryCommandEnabled = function () { document.queryCommandEnabled = function () {
return queryCommandEnabled; return queryCommandEnabled;
}; };
global.document.execCommand = function (cmd, bool, markdown) { document.execCommand = function (cmd, bool, markdown) {
const compose_textarea = $("#compose-textarea"); const compose_textarea = $("#compose-textarea");
const value = compose_textarea.val(); const value = compose_textarea.val();
$("#compose-textarea").val( $("#compose-textarea").val(
@ -1856,7 +1856,7 @@ run_test("create_message_object", () => {
}, },
})); }));
global.compose_state.get_message_type = function () { compose_state.get_message_type = function () {
return "stream"; return "stream";
}; };
@ -1873,7 +1873,7 @@ run_test("create_message_object", () => {
assert.equal(message.topic, "lunch"); assert.equal(message.topic, "lunch");
assert.equal(message.content, "burrito"); assert.equal(message.content, "burrito");
global.compose_state.get_message_type = function () { compose_state.get_message_type = function () {
return "private"; return "private";
}; };
compose_state.private_message_recipient = function () { compose_state.private_message_recipient = function () {

View File

@ -44,8 +44,6 @@ const respond_to_message = compose_actions.respond_to_message;
const reply_with_mention = compose_actions.reply_with_mention; const reply_with_mention = compose_actions.reply_with_mention;
const quote_and_reply = compose_actions.quote_and_reply; const quote_and_reply = compose_actions.quote_and_reply;
const compose_state = global.compose_state;
compose_state.private_message_recipient = (function () { compose_state.private_message_recipient = (function () {
let recipient; let recipient;
@ -129,7 +127,7 @@ run_test("start", () => {
compose_actions.clear_textarea = noop; compose_actions.clear_textarea = noop;
// Start stream message // Start stream message
global.narrow_state.set_compose_defaults = function () { narrow_state.set_compose_defaults = function () {
const opts = {}; const opts = {};
opts.stream = "stream1"; opts.stream = "stream1";
opts.topic = "topic1"; opts.topic = "topic1";
@ -156,7 +154,7 @@ run_test("start", () => {
}; };
stream_data.add_sub(denmark); stream_data.add_sub(denmark);
global.narrow_state.set_compose_defaults = function () { narrow_state.set_compose_defaults = function () {
const opts = {}; const opts = {};
opts.trigger = "new topic button"; opts.trigger = "new topic button";
return opts; return opts;
@ -167,7 +165,7 @@ run_test("start", () => {
assert.equal($("#stream_message_recipient_stream").val(), "Denmark"); assert.equal($("#stream_message_recipient_stream").val(), "Denmark");
assert.equal($("#stream_message_recipient_topic").val(), ""); assert.equal($("#stream_message_recipient_topic").val(), "");
global.narrow_state.set_compose_defaults = function () { narrow_state.set_compose_defaults = function () {
const opts = {}; const opts = {};
opts.trigger = "compose_hotkey"; opts.trigger = "compose_hotkey";
return opts; return opts;
@ -194,7 +192,7 @@ run_test("start", () => {
stream_data.clear_subscriptions(); stream_data.clear_subscriptions();
// Start PM // Start PM
global.narrow_state.set_compose_defaults = function () { narrow_state.set_compose_defaults = function () {
const opts = {}; const opts = {};
opts.private_message_recipient = "foo@example.com"; opts.private_message_recipient = "foo@example.com";
return opts; return opts;

View File

@ -285,9 +285,9 @@ const call_center = {
members: [], members: [],
}; };
global.user_groups.add(hamletcharacters); user_groups.add(hamletcharacters);
global.user_groups.add(backend); user_groups.add(backend);
global.user_groups.add(call_center); user_groups.add(call_center);
const make_emoji = function (emoji_dict) { const make_emoji = function (emoji_dict) {
return {emoji_name: emoji_dict.name, emoji_code: emoji_dict.emoji_code}; return {emoji_name: emoji_dict.name, emoji_code: emoji_dict.emoji_code};
@ -1100,7 +1100,7 @@ run_test("initialize", () => {
$("#compose-send-button").fadeOut = noop; $("#compose-send-button").fadeOut = noop;
$("#compose-send-button").fadeIn = noop; $("#compose-send-button").fadeIn = noop;
let channel_post_called = false; let channel_post_called = false;
global.channel.post = function (params) { channel.post = function (params) {
assert.equal(params.url, "/json/users/me/enter-sends"); assert.equal(params.url, "/json/users/me/enter-sends");
assert.equal(params.idempotent, true); assert.equal(params.idempotent, true);
assert.deepEqual(params.data, {enter_sends: page_params.enter_sends}); assert.deepEqual(params.data, {enter_sends: page_params.enter_sends});

View File

@ -74,7 +74,6 @@ set_global("page_params", {
is_admin: true, is_admin: true,
realm_description: "already set description", realm_description: "already set description",
}); });
const page_params = global.page_params;
// For data-oriented modules, just use them, don't stub them. // For data-oriented modules, just use them, don't stub them.
zrequire("alert_words"); zrequire("alert_words");
@ -181,7 +180,7 @@ run_test("custom profile fields", (override) => {
override("settings_profile_fields.populate_profile_fields", noop); override("settings_profile_fields.populate_profile_fields", noop);
override("settings_account.add_custom_profile_fields_to_settings", noop); override("settings_account.add_custom_profile_fields_to_settings", noop);
dispatch(event); dispatch(event);
assert_same(global.page_params.custom_profile_fields, event.fields); assert_same(page_params.custom_profile_fields, event.fields);
}); });
run_test("default_streams", (override) => { run_test("default_streams", (override) => {

View File

@ -148,22 +148,22 @@ run_test("draft_model", () => {
run_test("snapshot_message", () => { run_test("snapshot_message", () => {
function stub_draft(draft) { function stub_draft(draft) {
global.compose_state.get_message_type = function () { compose_state.get_message_type = function () {
return draft.type; return draft.type;
}; };
global.compose_state.composing = function () { compose_state.composing = function () {
return Boolean(draft.type); return Boolean(draft.type);
}; };
global.compose_state.message_content = function () { compose_state.message_content = function () {
return draft.content; return draft.content;
}; };
global.compose_state.private_message_recipient = function () { compose_state.private_message_recipient = function () {
return draft.private_message_recipient; return draft.private_message_recipient;
}; };
global.compose_state.stream_name = function () { compose_state.stream_name = function () {
return draft.stream; return draft.stream;
}; };
global.compose_state.topic = function () { compose_state.topic = function () {
return draft.topic; return draft.topic;
}; };
} }
@ -182,7 +182,7 @@ run_test("snapshot_message", () => {
}); });
run_test("initialize", () => { run_test("initialize", () => {
global.window.addEventListener = function (event_name, f) { window.addEventListener = function (event_name, f) {
assert.equal(event_name, "beforeunload"); assert.equal(event_name, "beforeunload");
let called = false; let called = false;
drafts.update_draft = function () { drafts.update_draft = function () {

View File

@ -448,7 +448,7 @@ run_test("public_operators", () => {
assert_same_operators(filter.public_operators(), operators); assert_same_operators(filter.public_operators(), operators);
assert(filter.can_bucket_by("stream")); assert(filter.can_bucket_by("stream"));
global.page_params.narrow_stream = "default"; page_params.narrow_stream = "default";
operators = [{operator: "stream", operand: "default"}]; operators = [{operator: "stream", operand: "default"}];
filter = new Filter(operators); filter = new Filter(operators);
assert_same_operators(filter.public_operators(), []); assert_same_operators(filter.public_operators(), []);
@ -534,7 +534,7 @@ function make_sub(name, stream_id) {
name, name,
stream_id, stream_id,
}; };
global.stream_data.add_sub(sub); stream_data.add_sub(sub);
} }
run_test("predicate_basics", () => { run_test("predicate_basics", () => {
@ -604,7 +604,7 @@ run_test("predicate_basics", () => {
predicate = get_predicate([["in", "home"]]); predicate = get_predicate([["in", "home"]]);
assert(!predicate({stream_id: unknown_stream_id, stream: "unknown"})); assert(!predicate({stream_id: unknown_stream_id, stream: "unknown"}));
assert(predicate({type: "private"})); assert(predicate({type: "private"}));
global.page_params.narrow_stream = "kiosk"; page_params.narrow_stream = "kiosk";
assert(predicate({stream: "kiosk"})); assert(predicate({stream: "kiosk"}));
predicate = get_predicate([["near", 5]]); predicate = get_predicate([["near", 5]]);
@ -782,7 +782,7 @@ run_test("negated_predicates", () => {
}); });
run_test("mit_exceptions", () => { run_test("mit_exceptions", () => {
global.page_params.realm_is_zephyr_mirror_realm = true; page_params.realm_is_zephyr_mirror_realm = true;
let predicate = get_predicate([ let predicate = get_predicate([
["stream", "Foo"], ["stream", "Foo"],
@ -1294,7 +1294,7 @@ function make_private_sub(name, stream_id) {
stream_id, stream_id,
invite_only: true, invite_only: true,
}; };
global.stream_data.add_sub(sub); stream_data.add_sub(sub);
} }
function make_web_public_sub(name, stream_id) { function make_web_public_sub(name, stream_id) {
@ -1303,7 +1303,7 @@ function make_web_public_sub(name, stream_id) {
stream_id, stream_id,
is_web_public: true, is_web_public: true,
}; };
global.stream_data.add_sub(sub); stream_data.add_sub(sub);
} }
run_test("navbar_helpers", () => { run_test("navbar_helpers", () => {

View File

@ -275,7 +275,7 @@ run_test("save_narrow", () => {
assert.equal(window.location.hash, "#narrow/is/private"); assert.equal(window.location.hash, "#narrow/is/private");
let url_pushed; let url_pushed;
global.history.pushState = (state, title, url) => { history.pushState = (state, title, url) => {
url_pushed = url; url_pushed = url;
}; };

View File

@ -159,7 +159,7 @@ run_test("mappings", () => {
assert.equal(map_down(219, true, true, false), undefined); // Shift + Ctrl + [ assert.equal(map_down(219, true, true, false), undefined); // Shift + Ctrl + [
// Cmd tests for MacOS // Cmd tests for MacOS
global.navigator.platform = "MacIntel"; navigator.platform = "MacIntel";
assert.equal(map_down(219, false, true, false).name, "escape"); // Ctrl + [ assert.equal(map_down(219, false, true, false).name, "escape"); // Ctrl + [
assert.equal(map_down(219, false, false, true), undefined); // Cmd + [ assert.equal(map_down(219, false, false, true), undefined); // Cmd + [
assert.equal(map_down(67, false, true, true).name, "copy_with_c"); // Ctrl + C assert.equal(map_down(67, false, true, true).name, "copy_with_c"); // Ctrl + C
@ -171,7 +171,7 @@ run_test("mappings", () => {
assert.equal(map_down(190, false, false, true).name, "narrow_to_compose_target"); // Cmd + . assert.equal(map_down(190, false, false, true).name, "narrow_to_compose_target"); // Cmd + .
assert.equal(map_down(190, false, true, false), undefined); // Ctrl + . assert.equal(map_down(190, false, true, false), undefined); // Ctrl + .
// Reset platform // Reset platform
global.navigator.platform = ""; navigator.platform = "";
}); });
run_test("basic_chars", () => { run_test("basic_chars", () => {
@ -314,10 +314,10 @@ run_test("basic_chars", () => {
const message_view_only_keys = "@+>RjJkKsSuvi:GM"; const message_view_only_keys = "@+>RjJkKsSuvi:GM";
// Check that they do nothing without a selected message // Check that they do nothing without a selected message
global.current_msg_list.empty = return_true; current_msg_list.empty = return_true;
assert_unmapped(message_view_only_keys); assert_unmapped(message_view_only_keys);
global.current_msg_list.empty = return_false; current_msg_list.empty = return_false;
// Check that they do nothing while in the settings overlay // Check that they do nothing while in the settings overlay
overlays.settings_open = return_true; overlays.settings_open = return_true;
@ -351,9 +351,9 @@ run_test("basic_chars", () => {
overlays.is_active = return_false; overlays.is_active = return_false;
assert_mapping("v", "lightbox.show_from_selected_message"); assert_mapping("v", "lightbox.show_from_selected_message");
global.emoji_picker.reactions_popped = return_true; emoji_picker.reactions_popped = return_true;
assert_mapping(":", "emoji_picker.navigate", true); assert_mapping(":", "emoji_picker.navigate", true);
global.emoji_picker.reactions_popped = return_false; emoji_picker.reactions_popped = return_false;
assert_mapping("G", "navigate.to_end"); assert_mapping("G", "navigate.to_end");
assert_mapping("M", "muting_ui.toggle_mute"); assert_mapping("M", "muting_ui.toggle_mute");
@ -363,9 +363,9 @@ run_test("basic_chars", () => {
assert_mapping("n", "narrow.narrow_to_next_topic"); assert_mapping("n", "narrow.narrow_to_next_topic");
assert_mapping("p", "narrow.narrow_to_next_pm_string"); assert_mapping("p", "narrow.narrow_to_next_pm_string");
global.current_msg_list.empty = return_true; current_msg_list.empty = return_true;
assert_mapping("n", "narrow.narrow_to_next_topic"); assert_mapping("n", "narrow.narrow_to_next_topic");
global.current_msg_list.empty = return_false; current_msg_list.empty = return_false;
}); });
run_test("motion_keys", () => { run_test("motion_keys", () => {
@ -412,7 +412,7 @@ run_test("motion_keys", () => {
} }
list_util.inside_list = return_false; list_util.inside_list = return_false;
global.current_msg_list.empty = return_true; current_msg_list.empty = return_true;
overlays.settings_open = return_false; overlays.settings_open = return_false;
overlays.streams_open = return_false; overlays.streams_open = return_false;
overlays.lightbox_open = return_false; overlays.lightbox_open = return_false;
@ -425,12 +425,12 @@ run_test("motion_keys", () => {
assert_unmapped("spacebar"); assert_unmapped("spacebar");
assert_unmapped("up_arrow"); assert_unmapped("up_arrow");
global.list_util.inside_list = return_true; list_util.inside_list = return_true;
assert_mapping("up_arrow", "list_util.go_up"); assert_mapping("up_arrow", "list_util.go_up");
assert_mapping("down_arrow", "list_util.go_down"); assert_mapping("down_arrow", "list_util.go_down");
list_util.inside_list = return_false; list_util.inside_list = return_false;
global.current_msg_list.empty = return_false; current_msg_list.empty = return_false;
assert_mapping("down_arrow", "navigate.down"); assert_mapping("down_arrow", "navigate.down");
assert_mapping("end", "navigate.to_end"); assert_mapping("end", "navigate.to_end");
assert_mapping("home", "navigate.to_home"); assert_mapping("home", "navigate.to_home");

View File

@ -137,12 +137,11 @@ const amp_group = {
members: [], members: [],
}; };
global.user_groups.add(hamletcharacters); user_groups.add(hamletcharacters);
global.user_groups.add(backend); user_groups.add(backend);
global.user_groups.add(edgecase_group); user_groups.add(edgecase_group);
global.user_groups.add(amp_group); user_groups.add(amp_group);
const stream_data = global.stream_data;
const denmark = { const denmark = {
subscribed: false, subscribed: false,
color: "blue", color: "blue",

View File

@ -102,19 +102,19 @@ run_test("get_editability", () => {
assert.equal(message_edit.is_topic_editable(message), true); assert.equal(message_edit.is_topic_editable(message), true);
message.sent_by_me = true; message.sent_by_me = true;
global.page_params.realm_allow_community_topic_editing = false; page_params.realm_allow_community_topic_editing = false;
assert.equal(message_edit.is_topic_editable(message), true); assert.equal(message_edit.is_topic_editable(message), true);
message.sent_by_me = false; message.sent_by_me = false;
global.page_params.realm_allow_community_topic_editing = false; page_params.realm_allow_community_topic_editing = false;
assert.equal(message_edit.is_topic_editable(message), false); assert.equal(message_edit.is_topic_editable(message), false);
message.sent_by_me = false; message.sent_by_me = false;
global.page_params.realm_allow_community_topic_editing = false; page_params.realm_allow_community_topic_editing = false;
global.page_params.is_admin = true; page_params.is_admin = true;
assert.equal(message_edit.is_topic_editable(message), true); assert.equal(message_edit.is_topic_editable(message), true);
global.page_params.realm_allow_message_editing = false; page_params.realm_allow_message_editing = false;
assert.equal(message_edit.is_topic_editable(message), false); assert.equal(message_edit.is_topic_editable(message), false);
}); });
@ -133,7 +133,7 @@ run_test("get_deletability", () => {
assert.equal(message_edit.get_deletability(message), true); assert.equal(message_edit.get_deletability(message), true);
// Non-admin can't delete message sent by others // Non-admin can't delete message sent by others
global.page_params.is_admin = false; page_params.is_admin = false;
assert.equal(message_edit.get_deletability(message), false); assert.equal(message_edit.get_deletability(message), false);
// Locally echoed messages are not deletable // Locally echoed messages are not deletable
@ -143,14 +143,14 @@ run_test("get_deletability", () => {
message.locally_echoed = false; message.locally_echoed = false;
assert.equal(message_edit.get_deletability(message), false); assert.equal(message_edit.get_deletability(message), false);
global.page_params.realm_allow_message_deleting = true; page_params.realm_allow_message_deleting = true;
assert.equal(message_edit.get_deletability(message), true); assert.equal(message_edit.get_deletability(message), true);
const now = new Date(); const now = new Date();
const current_timestamp = now / 1000; const current_timestamp = now / 1000;
message.timestamp = current_timestamp - 5; message.timestamp = current_timestamp - 5;
global.page_params.realm_message_content_delete_limit_seconds = 10; page_params.realm_message_content_delete_limit_seconds = 10;
assert.equal(message_edit.get_deletability(message), true); assert.equal(message_edit.get_deletability(message), true);
message.timestamp = current_timestamp - 60; message.timestamp = current_timestamp - 60;

View File

@ -74,7 +74,7 @@ run_test("basics", () => {
assert.deepEqual(list.all_messages(), messages); assert.deepEqual(list.all_messages(), messages);
global.$.Event = function (ev) { $.Event = function (ev) {
assert.equal(ev, "message_selected.zulip"); assert.equal(ev, "message_selected.zulip");
}; };
list.select_id(50); list.select_id(50);

View File

@ -64,13 +64,13 @@ run_test("uris", () => {
uri = hash_util.by_sender_uri(ray.email); uri = hash_util.by_sender_uri(ray.email);
assert.equal(uri, "#narrow/sender/22-ray"); assert.equal(uri, "#narrow/sender/22-ray");
let emails = global.hash_util.decode_operand("pm-with", "22,23-group"); let emails = hash_util.decode_operand("pm-with", "22,23-group");
assert.equal(emails, "alice@example.com,ray@example.com"); assert.equal(emails, "alice@example.com,ray@example.com");
emails = global.hash_util.decode_operand("pm-with", "5,22,23-group"); emails = hash_util.decode_operand("pm-with", "5,22,23-group");
assert.equal(emails, "alice@example.com,ray@example.com"); assert.equal(emails, "alice@example.com,ray@example.com");
emails = global.hash_util.decode_operand("pm-with", "5-group"); emails = hash_util.decode_operand("pm-with", "5-group");
assert.equal(emails, "me@example.com"); assert.equal(emails, "me@example.com");
}); });
@ -260,26 +260,26 @@ run_test("narrow_to_compose_target", () => {
}; };
// No-op when not composing. // No-op when not composing.
global.compose_state.composing = () => false; compose_state.composing = () => false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, false); assert.equal(args.called, false);
global.compose_state.composing = () => true; compose_state.composing = () => true;
// No-op when empty stream. // No-op when empty stream.
global.compose_state.get_message_type = () => "stream"; compose_state.get_message_type = () => "stream";
global.compose_state.stream_name = () => ""; compose_state.stream_name = () => "";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, false); assert.equal(args.called, false);
// --- Tests for stream messages --- // --- Tests for stream messages ---
global.compose_state.get_message_type = () => "stream"; compose_state.get_message_type = () => "stream";
stream_data.add_sub({name: "ROME", stream_id: 99}); stream_data.add_sub({name: "ROME", stream_id: 99});
global.compose_state.stream_name = () => "ROME"; compose_state.stream_name = () => "ROME";
global.stream_topic_history.get_recent_topic_names = () => ["one", "two", "three"]; stream_topic_history.get_recent_topic_names = () => ["one", "two", "three"];
// Test with existing topic // Test with existing topic
global.compose_state.topic = () => "one"; compose_state.topic = () => "one";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
@ -290,41 +290,41 @@ run_test("narrow_to_compose_target", () => {
]); ]);
// Test with new topic // Test with new topic
global.compose_state.topic = () => "four"; compose_state.topic = () => "four";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]); assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]);
// Test with blank topic // Test with blank topic
global.compose_state.topic = () => ""; compose_state.topic = () => "";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]); assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]);
// Test with no topic // Test with no topic
global.compose_state.topic = () => {}; compose_state.topic = () => {};
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]); assert.deepEqual(args.operators, [{operator: "stream", operand: "ROME"}]);
// --- Tests for PMs --- // --- Tests for PMs ---
global.compose_state.get_message_type = () => "private"; compose_state.get_message_type = () => "private";
people.add_active_user(ray); people.add_active_user(ray);
people.add_active_user(alice); people.add_active_user(alice);
people.add_active_user(me); people.add_active_user(me);
// Test with valid person // Test with valid person
global.compose_state.private_message_recipient = () => "alice@example.com"; compose_state.private_message_recipient = () => "alice@example.com";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "pm-with", operand: "alice@example.com"}]); assert.deepEqual(args.operators, [{operator: "pm-with", operand: "alice@example.com"}]);
// Test with valid persons // Test with valid persons
global.compose_state.private_message_recipient = () => "alice@example.com,ray@example.com"; compose_state.private_message_recipient = () => "alice@example.com,ray@example.com";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
@ -333,22 +333,21 @@ run_test("narrow_to_compose_target", () => {
]); ]);
// Test with some invalid persons // Test with some invalid persons
global.compose_state.private_message_recipient = () => compose_state.private_message_recipient = () => "alice@example.com,random,ray@example.com";
"alice@example.com,random,ray@example.com";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "is", operand: "private"}]); assert.deepEqual(args.operators, [{operator: "is", operand: "private"}]);
// Test with all invalid persons // Test with all invalid persons
global.compose_state.private_message_recipient = () => "alice,random,ray"; compose_state.private_message_recipient = () => "alice,random,ray";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);
assert.deepEqual(args.operators, [{operator: "is", operand: "private"}]); assert.deepEqual(args.operators, [{operator: "is", operand: "private"}]);
// Test with no persons // Test with no persons
global.compose_state.private_message_recipient = () => ""; compose_state.private_message_recipient = () => "";
args.called = false; args.called = false;
narrow.to_compose_target(); narrow.to_compose_target();
assert.equal(args.called, true); assert.equal(args.called, true);

View File

@ -396,18 +396,18 @@ run_test("user_timezone", () => {
format: "H:mm", format: "H:mm",
}; };
global.page_params.twenty_four_hour_time = true; page_params.twenty_four_hour_time = true;
assert.deepEqual(people.get_user_time_preferences(me.user_id), expected_pref); assert.deepEqual(people.get_user_time_preferences(me.user_id), expected_pref);
expected_pref.format = "h:mm A"; expected_pref.format = "h:mm A";
global.page_params.twenty_four_hour_time = false; page_params.twenty_four_hour_time = false;
assert.deepEqual(people.get_user_time_preferences(me.user_id), expected_pref); assert.deepEqual(people.get_user_time_preferences(me.user_id), expected_pref);
global.page_params.twenty_four_hour_time = true; page_params.twenty_four_hour_time = true;
assert.equal(people.get_user_time(me.user_id), "0:09"); assert.equal(people.get_user_time(me.user_id), "0:09");
expected_pref.format = "h:mm A"; expected_pref.format = "h:mm A";
global.page_params.twenty_four_hour_time = false; page_params.twenty_four_hour_time = false;
assert.equal(people.get_user_time(me.user_id), "12:09 AM"); assert.equal(people.get_user_time(me.user_id), "12:09 AM");
}); });
@ -1004,9 +1004,9 @@ run_test("initialize", () => {
const fetched_retiree = people.get_by_user_id(15); const fetched_retiree = people.get_by_user_id(15);
assert.equal(fetched_retiree.full_name, "Retiree"); assert.equal(fetched_retiree.full_name, "Retiree");
assert.equal(global.page_params.realm_users, undefined); assert.equal(page_params.realm_users, undefined);
assert.equal(global.page_params.cross_realm_bots, undefined); assert.equal(page_params.cross_realm_bots, undefined);
assert.equal(global.page_params.realm_non_active_users, undefined); assert.equal(page_params.realm_non_active_users, undefined);
}); });
run_test("filter_for_user_settings_search", () => { run_test("filter_for_user_settings_search", () => {

View File

@ -71,7 +71,7 @@ run_test("build_private_messages_list", () => {
const timestamp = 0; const timestamp = 0;
pm_conversations.recent.insert([101, 102], timestamp); pm_conversations.recent.insert([101, 102], timestamp);
global.unread.num_unread_for_person = function () { unread.num_unread_for_person = function () {
return 1; return 1;
}; };
@ -100,7 +100,7 @@ run_test("build_private_messages_list", () => {
assert.deepEqual(pm_data, expected_data); assert.deepEqual(pm_data, expected_data);
global.unread.num_unread_for_person = function () { unread.num_unread_for_person = function () {
return 0; return 0;
}; };
pm_list._build_private_messages_list(); pm_list._build_private_messages_list();
@ -117,7 +117,7 @@ run_test("build_private_messages_list_bot", () => {
const timestamp = 0; const timestamp = 0;
pm_conversations.recent.insert([314], timestamp); pm_conversations.recent.insert([314], timestamp);
global.unread.num_unread_for_person = function () { unread.num_unread_for_person = function () {
return 1; return 1;
}; };

View File

@ -265,7 +265,7 @@ run_test("sending", (override) => {
override("reactions.remove_reaction", () => {}); override("reactions.remove_reaction", () => {});
with_stub((stub) => { with_stub((stub) => {
global.channel.del = stub.f; channel.del = stub.f;
reactions.toggle_emoji_reaction(message_id, emoji_name); reactions.toggle_emoji_reaction(message_id, emoji_name);
const args = stub.get_args("args").args; const args = stub.get_args("args").args;
assert.equal(args.url, "/json/messages/1001/reactions"); assert.equal(args.url, "/json/messages/1001/reactions");
@ -280,14 +280,14 @@ run_test("sending", (override) => {
// similarly, we only exercise the failure codepath // similarly, we only exercise the failure codepath
// Since this path calls blueslip.warn, we need to handle it. // Since this path calls blueslip.warn, we need to handle it.
blueslip.expect("warn", "XHR Error Message."); blueslip.expect("warn", "XHR Error Message.");
global.channel.xhr_error_message = function () { channel.xhr_error_message = function () {
return "XHR Error Message."; return "XHR Error Message.";
}; };
args.error(); args.error();
}); });
emoji_name = "alien"; // not set yet emoji_name = "alien"; // not set yet
with_stub((stub) => { with_stub((stub) => {
global.channel.post = stub.f; channel.post = stub.f;
reactions.toggle_emoji_reaction(message_id, emoji_name); reactions.toggle_emoji_reaction(message_id, emoji_name);
const args = stub.get_args("args").args; const args = stub.get_args("args").args;
assert.equal(args.url, "/json/messages/1001/reactions"); assert.equal(args.url, "/json/messages/1001/reactions");
@ -304,7 +304,7 @@ run_test("sending", (override) => {
// deactivated realm emoji only by clicking on a reaction, hence, only // deactivated realm emoji only by clicking on a reaction, hence, only
// `process_reaction_click()` codepath supports deleting/adding a deactivated // `process_reaction_click()` codepath supports deleting/adding a deactivated
// realm emoji. // realm emoji.
global.channel.del = stub.f; channel.del = stub.f;
reactions.process_reaction_click(message_id, "realm_emoji,992"); reactions.process_reaction_click(message_id, "realm_emoji,992");
const args = stub.get_args("args").args; const args = stub.get_args("args").args;
assert.equal(args.url, "/json/messages/1001/reactions"); assert.equal(args.url, "/json/messages/1001/reactions");
@ -317,7 +317,7 @@ run_test("sending", (override) => {
emoji_name = "zulip"; // Test adding zulip emoji. emoji_name = "zulip"; // Test adding zulip emoji.
with_stub((stub) => { with_stub((stub) => {
global.channel.post = stub.f; channel.post = stub.f;
reactions.toggle_emoji_reaction(message_id, emoji_name); reactions.toggle_emoji_reaction(message_id, emoji_name);
const args = stub.get_args("args").args; const args = stub.get_args("args").args;
assert.equal(args.url, "/json/messages/1001/reactions"); assert.equal(args.url, "/json/messages/1001/reactions");
@ -679,7 +679,7 @@ run_test("with_view_stubs", () => {
}); });
run_test("error_handling", () => { run_test("error_handling", () => {
global.message_store.get = function () { message_store.get = function () {
return; return;
}; };
@ -768,7 +768,7 @@ run_test("process_reaction_click", () => {
reaction_type: "unicode_emoji", reaction_type: "unicode_emoji",
emoji_code: "1f3b1", emoji_code: "1f3b1",
}; };
global.message_store.get = function (message_id) { message_store.get = function (message_id) {
assert.equal(message_id, 1001); assert.equal(message_id, 1001);
return message; return message;
}; };
@ -779,7 +779,7 @@ run_test("process_reaction_click", () => {
emoji_code: "1f642", emoji_code: "1f642",
}; };
with_stub((stub) => { with_stub((stub) => {
global.channel.del = stub.f; channel.del = stub.f;
reactions.process_reaction_click(message_id, "unicode_emoji,1f642"); reactions.process_reaction_click(message_id, "unicode_emoji,1f642");
const args = stub.get_args("args").args; const args = stub.get_args("args").args;
assert.equal(args.url, "/json/messages/1001/reactions"); assert.equal(args.url, "/json/messages/1001/reactions");
@ -834,12 +834,12 @@ run_test("duplicates", () => {
}); });
run_test("process_reaction_click errors", () => { run_test("process_reaction_click errors", () => {
global.message_store.get = () => undefined; message_store.get = () => undefined;
blueslip.expect("error", "reactions: Bad message id: 55"); blueslip.expect("error", "reactions: Bad message id: 55");
blueslip.expect("error", "message_id for reaction click is unknown: 55"); blueslip.expect("error", "message_id for reaction click is unknown: 55");
reactions.process_reaction_click(55, "whatever"); reactions.process_reaction_click(55, "whatever");
global.message_store.get = () => message; message_store.get = () => message;
blueslip.expect( blueslip.expect(
"error", "error",
"Data integrity problem for reaction bad-local-id (message some-msg-id)", "Data integrity problem for reaction bad-local-id (message some-msg-id)",

View File

@ -196,7 +196,7 @@ run_test("timestamp-twenty-four-hour-time", () => {
$content.set_find_results("time", $array([$timestamp])); $content.set_find_results("time", $array([$timestamp]));
// We will temporarily change the 24h setting for this test. // We will temporarily change the 24h setting for this test.
const old_page_params = global.page_params; const old_page_params = page_params;
set_global("page_params", {...old_page_params, twenty_four_hour_time: true}); set_global("page_params", {...old_page_params, twenty_four_hour_time: true});
rm.update_elements($content); rm.update_elements($content);

View File

@ -87,11 +87,11 @@ function get_suggestions(base_query, query) {
run_test("basic_get_suggestions", () => { run_test("basic_get_suggestions", () => {
const query = "fred"; const query = "fred";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return "office"; return "office";
}; };
@ -105,11 +105,11 @@ run_test("subset_suggestions", () => {
const query = "shakespeare"; const query = "shakespeare";
const base_query = "stream:Denmark topic:Hamlet"; const base_query = "stream:Denmark topic:Hamlet";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -121,11 +121,11 @@ run_test("subset_suggestions", () => {
}); });
run_test("private_suggestions", () => { run_test("private_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -242,11 +242,11 @@ run_test("private_suggestions", () => {
}); });
run_test("group_suggestions", () => { run_test("group_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -387,11 +387,11 @@ init();
run_test("empty_query_suggestions", () => { run_test("empty_query_suggestions", () => {
const query = ""; const query = "";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -433,10 +433,10 @@ run_test("has_suggestions", () => {
// Checks that category wise suggestions are displayed instead of a single // Checks that category wise suggestions are displayed instead of a single
// default suggestion when suggesting `has` operator. // default suggestion when suggesting `has` operator.
let query = "h"; let query = "h";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -491,10 +491,10 @@ run_test("has_suggestions", () => {
run_test("check_is_suggestions", () => { run_test("check_is_suggestions", () => {
let query = "i"; let query = "i";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -598,11 +598,11 @@ run_test("check_is_suggestions", () => {
}); });
run_test("sent_by_me_suggestions", () => { run_test("sent_by_me_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -681,18 +681,18 @@ run_test("topic_suggestions", () => {
let suggestions; let suggestions;
let expected; let expected;
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office"]; return ["office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return "office"; return "office";
}; };
const devel_id = 44; const devel_id = 44;
const office_id = 77; const office_id = 77;
global.stream_data.get_stream_id = function (stream_name) { stream_data.get_stream_id = function (stream_name) {
switch (stream_name) { switch (stream_name) {
case "office": case "office":
return office_id; return office_id;
@ -774,11 +774,11 @@ run_test("topic_suggestions", () => {
run_test("whitespace_glitch", () => { run_test("whitespace_glitch", () => {
const query = "stream:office "; // note trailing space const query = "stream:office "; // note trailing space
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office"]; return ["office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -792,11 +792,11 @@ run_test("whitespace_glitch", () => {
}); });
run_test("stream_completion", () => { run_test("stream_completion", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office", "dev help"]; return ["office", "dev help"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -819,8 +819,8 @@ run_test("stream_completion", () => {
}); });
function people_suggestion_setup() { function people_suggestion_setup() {
global.stream_data.subscribed_streams = () => []; stream_data.subscribed_streams = () => [];
global.narrow_state.stream = noop; narrow_state.stream = noop;
const ted = { const ted = {
email: "ted@zulip.com", email: "ted@zulip.com",
@ -966,11 +966,11 @@ run_test("operator_suggestions", () => {
}); });
run_test("queries_with_spaces", () => { run_test("queries_with_spaces", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office", "dev help"]; return ["office", "dev help"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };

View File

@ -85,11 +85,11 @@ function get_suggestions(base_query, query) {
run_test("basic_get_suggestions", () => { run_test("basic_get_suggestions", () => {
const query = "fred"; const query = "fred";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return "office"; return "office";
}; };
@ -102,11 +102,11 @@ run_test("basic_get_suggestions", () => {
run_test("subset_suggestions", () => { run_test("subset_suggestions", () => {
const query = "stream:Denmark topic:Hamlet shakespeare"; const query = "stream:Denmark topic:Hamlet shakespeare";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -122,11 +122,11 @@ run_test("subset_suggestions", () => {
}); });
run_test("private_suggestions", () => { run_test("private_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -239,11 +239,11 @@ run_test("private_suggestions", () => {
}); });
run_test("group_suggestions", () => { run_test("group_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -391,11 +391,11 @@ init();
run_test("empty_query_suggestions", () => { run_test("empty_query_suggestions", () => {
const query = ""; const query = "";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -437,10 +437,10 @@ run_test("has_suggestions", () => {
// Checks that category wise suggestions are displayed instead of a single // Checks that category wise suggestions are displayed instead of a single
// default suggestion when suggesting `has` operator. // default suggestion when suggesting `has` operator.
let query = "h"; let query = "h";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -497,10 +497,10 @@ run_test("has_suggestions", () => {
}); });
run_test("check_is_suggestions", () => { run_test("check_is_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["devel", "office"]; return ["devel", "office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -570,11 +570,11 @@ run_test("check_is_suggestions", () => {
}); });
run_test("sent_by_me_suggestions", () => { run_test("sent_by_me_suggestions", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -648,18 +648,18 @@ run_test("topic_suggestions", () => {
let suggestions; let suggestions;
let expected; let expected;
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office"]; return ["office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return "office"; return "office";
}; };
const devel_id = 44; const devel_id = 44;
const office_id = 77; const office_id = 77;
global.stream_data.get_stream_id = function (stream_name) { stream_data.get_stream_id = function (stream_name) {
switch (stream_name) { switch (stream_name) {
case "office": case "office":
return office_id; return office_id;
@ -747,11 +747,11 @@ run_test("topic_suggestions", () => {
run_test("whitespace_glitch", () => { run_test("whitespace_glitch", () => {
const query = "stream:office "; // note trailing space const query = "stream:office "; // note trailing space
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office"]; return ["office"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -765,11 +765,11 @@ run_test("whitespace_glitch", () => {
}); });
run_test("stream_completion", () => { run_test("stream_completion", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office", "dev help"]; return ["office", "dev help"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -794,11 +794,11 @@ run_test("stream_completion", () => {
run_test("people_suggestions", () => { run_test("people_suggestions", () => {
let query = "te"; let query = "te";
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return []; return [];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };
@ -912,11 +912,11 @@ run_test("operator_suggestions", () => {
}); });
run_test("queries_with_spaces", () => { run_test("queries_with_spaces", () => {
global.stream_data.subscribed_streams = function () { stream_data.subscribed_streams = function () {
return ["office", "dev help"]; return ["office", "dev help"];
}; };
global.narrow_state.stream = function () { narrow_state.stream = function () {
return; return;
}; };

View File

@ -94,7 +94,7 @@ run_test("event_dispatch_error", () => {
setup(); setup();
const data = {events: [{type: "stream", op: "update", id: 1, other: "thing"}]}; const data = {events: [{type: "stream", op: "update", id: 1, other: "thing"}]};
global.channel.get = function (options) { channel.get = function (options) {
options.success(data); options.success(data);
}; };
@ -114,7 +114,7 @@ run_test("event_new_message_error", () => {
setup(); setup();
const data = {events: [{type: "message", id: 1, other: "thing", message: {}}]}; const data = {events: [{type: "message", id: 1, other: "thing", message: {}}]};
global.channel.get = function (options) { channel.get = function (options) {
options.success(data); options.success(data);
}; };
@ -130,7 +130,7 @@ run_test("event_new_message_error", () => {
run_test("event_edit_message_error", () => { run_test("event_edit_message_error", () => {
setup(); setup();
const data = {events: [{type: "update_message", id: 1, other: "thing"}]}; const data = {events: [{type: "update_message", id: 1, other: "thing"}]};
global.channel.get = function (options) { channel.get = function (options) {
options.success(data); options.success(data);
}; };
blueslip.expect("error", "Failed to update messages\nupdate error"); blueslip.expect("error", "Failed to update messages\nupdate error");

View File

@ -653,9 +653,7 @@ function test_parse_time_limit() {
const elem = $("#id_realm_message_content_edit_limit_minutes"); const elem = $("#id_realm_message_content_edit_limit_minutes");
const test_function = (value, expected_value = value) => { const test_function = (value, expected_value = value) => {
elem.val(value); elem.val(value);
global.page_params.realm_message_content_edit_limit_seconds = settings_org.parse_time_limit( page_params.realm_message_content_edit_limit_seconds = settings_org.parse_time_limit(elem);
elem,
);
assert.equal( assert.equal(
settings_org.get_realm_time_limits_in_minutes( settings_org.get_realm_time_limits_in_minutes(
"realm_message_content_edit_limit_seconds", "realm_message_content_edit_limit_seconds",

View File

@ -100,7 +100,7 @@ run_test("basics", () => {
assert(!stream_data.get_invite_only("unknown")); assert(!stream_data.get_invite_only("unknown"));
assert.equal(stream_data.get_color("social"), "red"); assert.equal(stream_data.get_color("social"), "red");
assert.equal(stream_data.get_color("unknown"), global.stream_color.default_color); assert.equal(stream_data.get_color("unknown"), stream_color.default_color);
assert.equal(stream_data.get_name("denMARK"), "Denmark"); assert.equal(stream_data.get_name("denMARK"), "Denmark");
assert.equal(stream_data.get_name("unknown Stream"), "unknown Stream"); assert.equal(stream_data.get_name("unknown Stream"), "unknown Stream");
@ -427,7 +427,7 @@ run_test("admin_options", () => {
} }
// non-admins can't do anything // non-admins can't do anything
global.page_params.is_admin = false; page_params.is_admin = false;
let sub = make_sub(); let sub = make_sub();
stream_data.update_calculated_fields(sub); stream_data.update_calculated_fields(sub);
assert(!sub.is_realm_admin); assert(!sub.is_realm_admin);
@ -437,7 +437,7 @@ run_test("admin_options", () => {
assert.equal(sub.color, "blue"); assert.equal(sub.color, "blue");
// the remaining cases are for admin users // the remaining cases are for admin users
global.page_params.is_admin = true; page_params.is_admin = true;
// admins can make public streams become private // admins can make public streams become private
sub = make_sub(); sub = make_sub();
@ -530,7 +530,7 @@ run_test("stream_settings", () => {
// For guest user only retrieve subscribed streams // For guest user only retrieve subscribed streams
sub_rows = stream_data.get_updated_unsorted_subs(); sub_rows = stream_data.get_updated_unsorted_subs();
assert.equal(sub_rows.length, 3); assert.equal(sub_rows.length, 3);
global.page_params.is_guest = true; page_params.is_guest = true;
sub_rows = stream_data.get_updated_unsorted_subs(); sub_rows = stream_data.get_updated_unsorted_subs();
assert.equal(sub_rows[0].name, "c"); assert.equal(sub_rows[0].name, "c");
assert.equal(sub_rows[1].name, "a"); assert.equal(sub_rows[1].name, "a");

View File

@ -57,7 +57,7 @@ run_test("create_sidebar_row", () => {
subscribed: true, subscribed: true,
pin_to_top: true, pin_to_top: true,
}; };
global.stream_data.add_sub(devel); stream_data.add_sub(devel);
const social = { const social = {
name: "social", name: "social",
@ -65,9 +65,9 @@ run_test("create_sidebar_row", () => {
color: "green", color: "green",
subscribed: true, subscribed: true,
}; };
global.stream_data.add_sub(social); stream_data.add_sub(social);
global.unread.num_unread_for_stream = function () { unread.num_unread_for_stream = function () {
return 42; return 42;
}; };
@ -190,7 +190,7 @@ run_test("pinned_streams_never_inactive", () => {
subscribed: true, subscribed: true,
pin_to_top: true, pin_to_top: true,
}; };
global.stream_data.add_sub(devel); stream_data.add_sub(devel);
const social = { const social = {
name: "social", name: "social",
@ -198,7 +198,7 @@ run_test("pinned_streams_never_inactive", () => {
color: "green", color: "green",
subscribed: true, subscribed: true,
}; };
global.stream_data.add_sub(social); stream_data.add_sub(social);
// we use social and devel created in create_social_sidebar_row() and create_devel_sidebar_row() // we use social and devel created in create_social_sidebar_row() and create_devel_sidebar_row()
@ -235,7 +235,7 @@ run_test("pinned_streams_never_inactive", () => {
set_global("$", make_zjquery()); set_global("$", make_zjquery());
function add_row(sub) { function add_row(sub) {
global.stream_data.add_sub(sub); stream_data.add_sub(sub);
const row = { const row = {
update_whether_active() {}, update_whether_active() {},
get_li() { get_li() {
@ -468,7 +468,7 @@ run_test("sort_streams", () => {
initialize_stream_data(); initialize_stream_data();
global.stream_data.is_active = function (sub) { stream_data.is_active = function (sub) {
return sub.name !== "cars"; return sub.name !== "cars";
}; };
@ -493,7 +493,7 @@ run_test("sort_streams", () => {
assert.deepEqual(appended_elems, expected_elems); assert.deepEqual(appended_elems, expected_elems);
const streams = global.stream_sort.get_streams(); const streams = stream_sort.get_streams();
assert.deepEqual(streams, [ assert.deepEqual(streams, [
// three groups: pinned, normal, dormant // three groups: pinned, normal, dormant
@ -550,7 +550,7 @@ run_test("separators_only_pinned_and_dormant", () => {
}; };
add_row(DenmarkSub); add_row(DenmarkSub);
global.stream_data.is_active = function (sub) { stream_data.is_active = function (sub) {
return sub.name !== "Denmark"; return sub.name !== "Denmark";
}; };

View File

@ -200,7 +200,7 @@ run_test("streams", () => {
assert.equal(actual, expected); assert.equal(actual, expected);
} }
global.stream_sort.get_streams = function () { stream_sort.get_streams = function () {
return ["announce", "muted", "devel", "test here"]; return ["announce", "muted", "devel", "test here"];
}; };
@ -251,7 +251,7 @@ run_test("topics", () => {
// Now test the deeper function that is wired up to // Now test the deeper function that is wired up to
// real functions stream_data/stream_sort/unread. // real functions stream_data/stream_sort/unread.
global.stream_sort.get_streams = function () { stream_sort.get_streams = function () {
return ["announce", "muted", "devel", "test here"]; return ["announce", "muted", "devel", "test here"];
}; };
@ -274,19 +274,19 @@ run_test("topics", () => {
return []; return [];
}; };
global.stream_data.get_stream_id = function (stream_name) { stream_data.get_stream_id = function (stream_name) {
return stream_id_dct[stream_name]; return stream_id_dct[stream_name];
}; };
global.stream_data.is_stream_muted_by_name = function (stream_name) { stream_data.is_stream_muted_by_name = function (stream_name) {
return stream_name === "muted"; return stream_name === "muted";
}; };
global.unread.topic_has_any_unread = function (stream_id) { unread.topic_has_any_unread = function (stream_id) {
return [devel_stream_id, muted_stream_id].includes(stream_id); return [devel_stream_id, muted_stream_id].includes(stream_id);
}; };
global.muting.is_topic_muted = function (stream_name, topic) { muting.is_topic_muted = function (stream_name, topic) {
return topic === "muted"; return topic === "muted";
}; };

View File

@ -56,7 +56,7 @@ run_test("sort_streams", () => {
]; ];
test_streams.forEach(stream_data.update_calculated_fields); test_streams.forEach(stream_data.update_calculated_fields);
global.stream_data.is_active = function (sub) { stream_data.is_active = function (sub) {
return sub.name !== "dead"; return sub.name !== "dead";
}; };
@ -261,19 +261,19 @@ run_test("sort_recipients", () => {
pm_conversations.set_partner(7); pm_conversations.set_partner(7);
// For splitting based on recency // For splitting based on recency
global.recent_senders.process_message_for_senders({ recent_senders.process_message_for_senders({
sender_id: 7, sender_id: 7,
stream_id: 1, stream_id: 1,
topic: "Dev Topic", topic: "Dev Topic",
id: (next_id += 1), id: (next_id += 1),
}); });
global.recent_senders.process_message_for_senders({ recent_senders.process_message_for_senders({
sender_id: 5, sender_id: 5,
stream_id: 1, stream_id: 1,
topic: "Dev Topic", topic: "Dev Topic",
id: (next_id += 1), id: (next_id += 1),
}); });
global.recent_senders.process_message_for_senders({ recent_senders.process_message_for_senders({
sender_id: 6, sender_id: 6,
stream_id: 1, stream_id: 1,
topic: "Dev Topic", topic: "Dev Topic",
@ -291,13 +291,13 @@ run_test("sort_recipients", () => {
"a_bot@zulip.com", "a_bot@zulip.com",
]); ]);
global.recent_senders.process_message_for_senders({ recent_senders.process_message_for_senders({
sender_id: 5, sender_id: 5,
stream_id: 2, stream_id: 2,
topic: "Linux Topic", topic: "Linux Topic",
id: (next_id += 1), id: (next_id += 1),
}); });
global.recent_senders.process_message_for_senders({ recent_senders.process_message_for_senders({
sender_id: 7, sender_id: 7,
stream_id: 2, stream_id: 2,
topic: "Linux Topic", topic: "Linux Topic",

View File

@ -19,12 +19,12 @@ run_test("get_hotkey_deprecation_notice", () => {
}); });
run_test("get_hotkey_deprecation_notice_mac", () => { run_test("get_hotkey_deprecation_notice_mac", () => {
global.navigator.userAgent = navigator.userAgent =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36"; "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36";
const expected = const expected =
'translated: We\'ve replaced the "*" hotkey with "Cmd + s" to make this common shortcut easier to trigger.'; 'translated: We\'ve replaced the "*" hotkey with "Cmd + s" to make this common shortcut easier to trigger.';
const actual = ui.get_hotkey_deprecation_notice("*", "Cmd + s"); const actual = ui.get_hotkey_deprecation_notice("*", "Cmd + s");
assert.equal(actual, expected); assert.equal(actual, expected);
// Reset userAgent // Reset userAgent
global.navigator.userAgent = ""; navigator.userAgent = "";
}); });

View File

@ -23,8 +23,8 @@ set_global("bridge", false);
// Setting these up so that we can test that links to uploads within messages are // Setting these up so that we can test that links to uploads within messages are
// automatically converted to server relative links. // automatically converted to server relative links.
global.document.location.protocol = "https:"; document.location.protocol = "https:";
global.document.location.host = "foo.com"; document.location.host = "foo.com";
zrequire("compose_ui"); zrequire("compose_ui");
zrequire("compose_state"); zrequire("compose_state");

View File

@ -113,7 +113,7 @@ run_test("updates", () => {
let user_id; let user_id;
let full_name; let full_name;
global.message_live_update.update_user_full_name = function (user_id_arg, full_name_arg) { message_live_update.update_user_full_name = function (user_id_arg, full_name_arg) {
user_id = user_id_arg; user_id = user_id_arg;
full_name = full_name_arg; full_name = full_name_arg;
}; };
@ -129,7 +129,7 @@ run_test("updates", () => {
user_id: me.user_id, user_id: me.user_id,
role: settings_config.user_role_values.member.code, role: settings_config.user_role_values.member.code,
}); });
assert(!global.page_params.is_admin); assert(!page_params.is_admin);
user_events.update_person({user_id: me.user_id, full_name: "Me V2"}); user_events.update_person({user_id: me.user_id, full_name: "Me V2"});
assert.equal(people.my_full_name(), "Me V2"); assert.equal(people.my_full_name(), "Me V2");
@ -147,7 +147,7 @@ run_test("updates", () => {
assert.equal(person.full_name, "Me V2"); assert.equal(person.full_name, "Me V2");
let avatar_url; let avatar_url;
global.message_live_update.update_avatar = function (user_id_arg, avatar_url_arg) { message_live_update.update_avatar = function (user_id_arg, avatar_url_arg) {
user_id = user_id_arg; user_id = user_id_arg;
avatar_url = avatar_url_arg; avatar_url = avatar_url_arg;
}; };

View File

@ -140,10 +140,10 @@ run_test("get_edit_event_prev_topic", () => {
}); });
run_test("is_mobile", () => { run_test("is_mobile", () => {
global.window.navigator = {userAgent: "Android"}; window.navigator = {userAgent: "Android"};
assert(util.is_mobile()); assert(util.is_mobile());
global.window.navigator = {userAgent: "Not mobile"}; window.navigator = {userAgent: "Not mobile"};
assert(!util.is_mobile()); assert(!util.is_mobile());
}); });