mirror of https://github.com/zulip/zulip.git
zjquery: Avoid array-related hacks.
Callers can either explicitly pass in children, stub out $(...)[0] as needed, or just circumvent jQuery complications with override. Note the reactions test was broken before, since $(...)[0] was always returning the same stub.
This commit is contained in:
parent
2b8921bf67
commit
42c2c9fb2d
|
@ -203,6 +203,7 @@ run_test("hotspots", (override) => {
|
|||
});
|
||||
|
||||
run_test("invites_changed", (override) => {
|
||||
$.create("#admin-invites-list", {children: ["stub"]});
|
||||
const event = event_fixtures.invites_changed;
|
||||
const stub = make_stub();
|
||||
override(settings_invites, "set_up", stub.f);
|
||||
|
|
|
@ -301,6 +301,7 @@ run_test("format_drafts", (override) => {
|
|||
override(drafts, "open_overlay", noop);
|
||||
drafts.set_initial_element = noop;
|
||||
|
||||
$.create("#drafts_table .draft-row", {children: []});
|
||||
drafts.launch();
|
||||
timerender.render_now = stub_render_now;
|
||||
});
|
||||
|
|
|
@ -22,7 +22,7 @@ set_global("popovers", {
|
|||
|
||||
rows.is_draft_row = () => false;
|
||||
|
||||
run_test("pan_and_zoom", () => {
|
||||
run_test("pan_and_zoom", (override) => {
|
||||
$.clear_all_elements();
|
||||
|
||||
const img = $.create("img-stub");
|
||||
|
@ -33,7 +33,12 @@ run_test("pan_and_zoom", () => {
|
|||
|
||||
img.set_parent(link);
|
||||
link.closest = () => msg;
|
||||
msg.attr("zid", "1234");
|
||||
|
||||
override(rows, "id", (row) => {
|
||||
assert.equal(row, msg);
|
||||
return 1234;
|
||||
});
|
||||
|
||||
img.attr("src", "example");
|
||||
|
||||
let fetched_zid;
|
||||
|
@ -51,7 +56,7 @@ run_test("pan_and_zoom", () => {
|
|||
assert.equal(fetched_zid, 1234);
|
||||
});
|
||||
|
||||
run_test("youtube", () => {
|
||||
run_test("youtube", (override) => {
|
||||
$.clear_all_elements();
|
||||
|
||||
const href = "https://youtube.com/some-random-clip";
|
||||
|
@ -59,7 +64,10 @@ run_test("youtube", () => {
|
|||
const link = $.create("link-stub");
|
||||
const msg = $.create("msg-stub");
|
||||
|
||||
msg.attr("zid", "4321");
|
||||
override(rows, "id", (row) => {
|
||||
assert.equal(row, msg);
|
||||
return 4321;
|
||||
});
|
||||
|
||||
$(img).attr("src", href);
|
||||
|
||||
|
|
|
@ -127,14 +127,14 @@ set_global("current_msg_list", {
|
|||
});
|
||||
|
||||
run_test("open_reactions_popover", () => {
|
||||
$(".selected-row").set_find_results(".actions_hover", $(".target-action"));
|
||||
$(".selected-row").set_find_results(".reaction_button", $(".target-reaction"));
|
||||
$(".selected-row").set_find_results(".actions_hover", ["action-stub"]);
|
||||
$(".selected-row").set_find_results(".reaction_button", ["reaction-stub"]);
|
||||
|
||||
let called = false;
|
||||
emoji_picker.toggle_emoji_popover = function (target, id) {
|
||||
called = true;
|
||||
assert.equal(id, 42);
|
||||
assert.equal(target, $(".target-reaction")[0]);
|
||||
assert.equal(target, "action-stub");
|
||||
};
|
||||
|
||||
assert(reactions.open_reactions_popover());
|
||||
|
@ -148,7 +148,7 @@ run_test("open_reactions_popover", () => {
|
|||
emoji_picker.toggle_emoji_popover = function (target, id) {
|
||||
called = true;
|
||||
assert.equal(id, 42);
|
||||
assert.equal(target, $(".target-action")[0]);
|
||||
assert.equal(target, "reaction-stub");
|
||||
};
|
||||
|
||||
assert(reactions.open_reactions_popover());
|
||||
|
|
|
@ -84,6 +84,8 @@ run_test("initialize", () => {
|
|||
const search_button = $(".search_button");
|
||||
const searchbox = $("#searchbox");
|
||||
|
||||
search_query_box[0] = "stub";
|
||||
|
||||
search_pill.get_search_string_for_current_filter = function () {
|
||||
return "is:starred";
|
||||
};
|
||||
|
|
|
@ -52,6 +52,8 @@ function test_populate(opts) {
|
|||
table.set_find_results("tr.profile-field-row", rows);
|
||||
table.set_find_results("tr.profile-field-form", form);
|
||||
|
||||
table[0] = "stub";
|
||||
|
||||
let num_appends = 0;
|
||||
table.append = () => {
|
||||
num_appends += 1;
|
||||
|
|
|
@ -187,5 +187,7 @@ run_test("initialize_everything", () => {
|
|||
compose.compute_show_video_chat_button = () => {};
|
||||
$("#below-compose-content .video_link").toggle = () => {};
|
||||
|
||||
$("<audio>")[0] = "stub";
|
||||
|
||||
ui_init.initialize_everything();
|
||||
});
|
||||
|
|
|
@ -413,18 +413,20 @@ function make_new_elem(selector, opts) {
|
|||
f.call(child);
|
||||
}
|
||||
};
|
||||
self[Symbol.iterator] = function* () {
|
||||
for (const child of opts.children) {
|
||||
yield child;
|
||||
}
|
||||
};
|
||||
self.length = opts.children.length;
|
||||
}
|
||||
|
||||
if (selector[0] === "<") {
|
||||
self.html(selector);
|
||||
}
|
||||
|
||||
self[0] = "you-must-set-the-child-yourself";
|
||||
|
||||
self.selector = selector;
|
||||
|
||||
self.length = 1;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue