Files
zulip/frontend_tests/node_tests/ui_init.js
YashRE42 b4891a5841 navbar: Rename tab_bar to message_view_header.
Prior to commit eb4a2b9d4e the center
area of the navbar was based on a structure that appended crumbs or
"tabs" as <li>s, forming a tab_bar and a tab_list.

However, in eb4a2b9d4e we apply a new
style and structure to the navbar which lets go of the convention of
tabs. Hence, we'd like to purge the tab_bar and tab_list labels from
our code base.

We purged tab_list in 1267caf5009118875f47fdafe312880af08024e1.

This commit purges tab_bar, it includes:
- A blanket search and replace of tab_bar with message_view_header.
- Splitting a single line comment in
  tab_bar.js / message_view_header.js.
- The renaming of tab_bar.js to message_view_header.js.
- The renaming of tab_bar.hbs to message_view_header.hbs.
- A blanket search and replace of tab_data with
  message_view_header_data.
- Replacing the single occurrence of tabbar with message_view_header
  (it was within a comment.)
2020-07-30 16:23:13 -07:00

193 lines
4.9 KiB
JavaScript

const rewiremock = require("rewiremock/node");
/*
This test suite is designed to find errors
in our initialization sequence. It doesn't
really validate any behavior, other than just
making sure things don't fail. For more
directed testing of individual modules, you
should create dedicated test suites.
Also, we stub a lot of initialization here that
is tricky to test due to dependencies on things
like jQuery. A good project is to work through
ignore_modules and try to make this test more
complete.
Also, it's good to be alert here for things
that can be cleaned up in the code--for example,
not everything needs to happen in `initialization`--
some things can happen later in a `launch` method.
*/
const util = zrequire("util");
set_global("document", {
location: {
protocol: "http",
},
});
set_global("csrf_token", "whatever");
set_global("$", () => {});
set_global("resize", {});
set_global("page_params", {});
const ignore_modules = [
"activity",
"click_handlers",
"compose_pm_pill",
"copy_and_paste",
"drafts",
"emoji_picker",
"gear_menu",
"hashchange",
"hotspots",
// Accesses home_msg_list, which is a lot of complexity to setup
"message_fetch",
"message_scroll",
"message_viewport",
"panels",
"popovers",
"reload",
"scroll_bar",
"server_events",
"settings_sections",
"settings_panel_menu",
"settings_toggle",
"subs",
"timerender",
"ui",
"unread_ui",
];
for (const mod of ignore_modules) {
set_global(mod, {
initialize: () => {},
});
}
util.is_mobile = () => false;
global.stub_templates(() => "some-html");
ui.get_scroll_element = (element) => element;
zrequire("alert_words");
zrequire("hash_util");
zrequire("echo");
zrequire("colorspace");
zrequire("stream_color");
zrequire("stream_edit");
zrequire("color_data");
zrequire("stream_data");
zrequire("muting");
zrequire("condense");
zrequire("spoilers");
zrequire("lightbox");
zrequire("overlays");
zrequire("invite");
zrequire("message_view_header");
zrequire("narrow_state");
zrequire("people");
zrequire("presence");
zrequire("search_pill_widget");
zrequire("user_groups");
zrequire("unread");
zrequire("bot_data");
zrequire("markdown");
zrequire("upload");
zrequire("compose");
zrequire("composebox_typeahead");
zrequire("narrow");
zrequire("search_suggestion");
zrequire("search");
zrequire("tutorial");
zrequire("notifications");
zrequire("pm_conversations");
zrequire("pm_list");
zrequire("list_cursor");
zrequire("keydown_util");
zrequire("stream_sort");
zrequire("stream_list");
zrequire("topic_list");
zrequire("topic_zoom");
zrequire("sent_messages");
zrequire("typing");
zrequire("top_left_corner");
zrequire("starred_messages");
zrequire("user_status");
zrequire("user_status_ui");
const ui_init = rewiremock.proxy(() => zrequire("ui_init"), {
"../../static/js/emojisets": {
initialize: () => {},
},
});
set_global("$", global.make_zjquery());
const document_stub = $.create("document-stub");
document.to_$ = () => document_stub;
document_stub.idle = () => {};
const window_stub = $.create("window-stub");
set_global("to_$", () => window_stub);
window_stub.idle = () => {};
ui_init.initialize_kitchen_sink_stuff = () => {};
page_params.realm_default_streams = [];
page_params.subscriptions = [];
page_params.unsubscribed = [];
page_params.never_subscribed = [];
page_params.realm_notifications_stream_id = -1;
page_params.unread_msgs = {
huddles: [],
pms: [],
streams: [],
mentions: [],
};
page_params.recent_private_conversations = [];
page_params.user_status = {};
page_params.realm_emoji = {};
page_params.realm_users = [];
page_params.realm_non_active_users = [];
page_params.cross_realm_bots = [];
page_params.muted_topics = [];
page_params.realm_user_groups = [];
page_params.realm_bots = [];
page_params.realm_filters = [];
page_params.starred_messages = [];
page_params.presences = [];
const $message_view_header = $.create("#message_view_header");
$message_view_header.append = () => {};
upload.setup_upload = () => {};
server_events.home_view_loaded = () => true;
resize.watch_manual_resize = () => {};
$("#stream_message_recipient_stream").typeahead = () => {};
$("#stream_message_recipient_topic").typeahead = () => {};
$("#private_message_recipient").typeahead = () => {};
$("#compose-textarea").typeahead = () => {};
$("#search_query").typeahead = () => {};
const value_stub = $.create("value");
const count_stub = $.create("count");
count_stub.set_find_results(".value", value_stub);
$(".top_left_starred_messages").set_find_results(".count", count_stub);
$("#message_view_header .stream").length = 0;
// set find results doesn't work here since we call .empty() in the code.
$message_view_header.find = () => false;
compose.compute_show_video_chat_button = () => {};
$("#below-compose-content .video_link").toggle = () => {};
run_test("initialize_everything", () => {
ui_init.initialize_everything();
});