zjsunit: Clear $ elements in run_test.

We now call $.clear_all_elements at the top
of run_test.

We have to exempt two modules from the new regime:

    compose
    settings_user_groups

Also, if modules do set_global("$", ...) we don't
try to call the non-existent function.

It's possible we'll want to move to something like
this, but we might want to clean up the two
sloppy_$ modules first:

    // AVOID THIS:
    // const $ = require("zjquery")

    run_test("test widget", ({override, $}) => {
        override(foo, "bar", ...);
        $.create(...);
        // do stuff
    });
This commit is contained in:
Steve Howell
2021-02-23 11:05:28 +00:00
committed by Steve Howell
parent 81fd1a5e6a
commit ac69450681
20 changed files with 18 additions and 33 deletions

View File

@@ -231,7 +231,6 @@ function clear_buddy_list() {
}
function test_ui(label, f) {
$.clear_all_elements();
run_test(label, (override) => {
clear_buddy_list();
f(override);

View File

@@ -17,7 +17,7 @@ alert_words.initialize({
});
function test_ui(label, f) {
$.clear_all_elements();
// TODO: go back to run_test
run_test(label, f);
}

View File

@@ -43,7 +43,7 @@ const alice = {
people.add_active_user(alice);
function test(label, f) {
$.clear_all_elements();
// TODO: go back to run_test
run_test(label, f);
}

View File

@@ -13,7 +13,7 @@ set_global("document", {});
const common = zrequire("common");
function test_ui(label, f) {
$.clear_all_elements();
// TODO: go back to run_test
run_test(label, f);
}

View File

@@ -149,7 +149,8 @@ people.add_active_user(alice);
people.add_active_user(bob);
function test_ui(label, f) {
run_test(label, f);
// The sloppy_$ flag lets us re-use setup from prior tests.
run_test(label, f, {sloppy_$: true});
}
test_ui("validate_stream_message_address_info", () => {

View File

@@ -111,7 +111,7 @@ function assert_hidden(sel) {
}
function test_ui(label, f) {
$.clear_all_elements();
// TODO: go back to run_test
run_test(label, f);
}

View File

@@ -16,7 +16,6 @@ const _ListWidget = {
set_global("ListWidget", _ListWidget);
const setup_zjquery_data = (name) => {
$.clear_all_elements();
const input_group = $(".input_group");
const reset_button = $(".dropdown_list_reset_button");
input_group.set_find_results(".dropdown_list_reset_button:enabled", reset_button);

View File

@@ -92,7 +92,6 @@ run_test("basics", () => {
});
function set_up() {
$.clear_all_elements();
const items = {
blue: {
display_value: "BLUE",

View File

@@ -23,8 +23,6 @@ set_global("popovers", {
rows.is_draft_row = () => false;
run_test("pan_and_zoom", (override) => {
$.clear_all_elements();
const img = $.create("img-stub");
const link = $.create("link-stub");
const msg = $.create("msg-stub");
@@ -56,8 +54,6 @@ run_test("pan_and_zoom", (override) => {
});
run_test("youtube", (override) => {
$.clear_all_elements();
const href = "https://youtube.com/some-random-clip";
const img = $.create("img-stub");
const link = $.create("link-stub");

View File

@@ -56,7 +56,7 @@ people.add_active_user(bot_test);
people.initialize_current_user(me.user_id);
function test(label, f) {
$.clear_all_elements();
// TODO: go back to run_test
run_test(label, f);
}

View File

@@ -263,8 +263,6 @@ run_test("activate another person poll", () => {
});
run_test("activate own poll", () => {
$.clear_all_elements();
people.is_my_user_id = return_true;
stub_templates((template_name) => {
if (template_name === "widgets/poll_widget") {

View File

@@ -109,7 +109,6 @@ function make_image_stubber() {
}
function test_ui(label, f) {
$.clear_all_elements();
run_test(label, (override) => {
popovers.register_click_handlers();
f(override);

View File

@@ -505,7 +505,6 @@ run_test("test_filter_participated", () => {
});
run_test("test_update_unread_count", () => {
$.clear_all_elements();
rt = reset_module("recent_topics");
stub_out_filter_buttons();
rt.set_filter("all");
@@ -648,7 +647,6 @@ run_test("test_reify_local_echo_message", () => {
});
run_test("test_delete_messages", () => {
$.clear_all_elements();
rt = reset_module("recent_topics");
stub_out_filter_buttons();
rt.set_filter("all");
@@ -702,8 +700,6 @@ run_test("test_delete_messages", () => {
});
run_test("test_topic_edit", () => {
$.clear_all_elements();
set_global("message_list", {
all: {
all_messages() {

View File

@@ -68,7 +68,6 @@ const $array = (array) => {
let page_params = set_global("page_params", {emojiset: "apple"});
const get_content_element = () => {
$.clear_all_elements();
const $content = $.create(".rendered_markdown");
$content.set_find_results(".user-mention", $array([]));
$content.set_find_results(".user-group-mention", $array([]));

View File

@@ -119,8 +119,6 @@ function test_create_bot_type_input_box_toggle(f) {
}
run_test("test tab clicks", (override) => {
$.clear_all_elements();
override($.validator, "addMethod", () => {});
$("#create_bot_form").validate = () => {};

View File

@@ -49,7 +49,8 @@ function reset_test_setup(pill_container_stub) {
}
function test_ui(label, f) {
run_test(label, f);
// The sloppy_$ flag lets us re-use setup from prior tests.
run_test(label, f, {sloppy_$: true});
}
test_ui("can_edit", () => {

View File

@@ -91,7 +91,6 @@ for (const sub of subs) {
}
function test_ui(label, f) {
$.clear_all_elements();
run_test(label, (override) => {
stream_edit.initialize();
f(override);

View File

@@ -103,7 +103,6 @@ function create_social_sidebar_row() {
}
function test_ui(label, f) {
$.clear_all_elements();
run_test(label, (override) => {
stream_data.clear_subscriptions();
stream_list.stream_sidebar.rows.clear();

View File

@@ -367,8 +367,6 @@ run_test("uppy_config", () => {
});
run_test("file_input", () => {
$.clear_all_elements();
upload.setup_upload({mode: "compose"});
const change_handler = $("body").get_on_handler("change", "#file_input");
@@ -390,7 +388,6 @@ run_test("file_input", () => {
});
run_test("file_drop", () => {
$.clear_all_elements();
upload.setup_upload({mode: "compose"});
let prevent_default_counter = 0;
@@ -429,8 +426,6 @@ run_test("file_drop", () => {
});
run_test("copy_paste", () => {
$.clear_all_elements();
upload.setup_upload({mode: "compose"});
const paste_handler = $("#compose").get_on_handler("paste");
@@ -470,7 +465,6 @@ run_test("copy_paste", () => {
});
run_test("uppy_events", () => {
$.clear_all_elements();
const callbacks = {};
let uppy_cancel_all_called = false;
let state = {};

View File

@@ -1,6 +1,7 @@
"use strict";
const namespace = require("./namespace");
const $ = require("./zjquery");
let current_file_name;
let verbose = false;
@@ -13,10 +14,17 @@ exports.set_verbose = (value) => {
verbose = value;
};
exports.run_test = (label, f) => {
exports.run_test = (label, f, opts) => {
const {sloppy_$} = opts || {};
if (verbose) {
console.info(" test: " + label);
}
if (!sloppy_$ && $.clear_all_elements) {
$.clear_all_elements();
}
try {
namespace.with_overrides(f);
} catch (error) {