mirror of https://github.com/zulip/zulip.git
zjsunit: Add with_field helper.
This just lets us temporarily assign a value to a field. Differences with the "override" scheme: * override only works on globals * override (when passed in via run_test) will just automatically clean up at the end of the function
This commit is contained in:
parent
2e864d487e
commit
329f38975e
|
@ -348,6 +348,7 @@
|
|||
"document": false,
|
||||
"set_global": false,
|
||||
"window": false,
|
||||
"with_field": false,
|
||||
"zrequire": false
|
||||
},
|
||||
"rules": {
|
||||
|
|
|
@ -758,12 +758,9 @@ run_test("missing unicode emojis", () => {
|
|||
// return undefined
|
||||
}
|
||||
|
||||
const actual_get_emoji_name = emoji.get_emoji_name;
|
||||
emoji.get_emoji_name = fake_get_emoji_name;
|
||||
with_field(emoji, "get_emoji_name", fake_get_emoji_name, () => {
|
||||
markdown.apply_markdown(message);
|
||||
});
|
||||
|
||||
markdown.apply_markdown(message);
|
||||
assert.equal(message.content, "<p>\u{1f6b2}</p>");
|
||||
|
||||
// restore get_emoji_name for any future tests that follow
|
||||
emoji.get_emoji_name = actual_get_emoji_name;
|
||||
});
|
||||
|
|
|
@ -37,6 +37,7 @@ if (files.length === 0) {
|
|||
}
|
||||
|
||||
// Set up our namespace helpers.
|
||||
global.with_field = namespace.with_field;
|
||||
global.set_global = namespace.set_global;
|
||||
global.patch_builtin = namespace.set_global;
|
||||
global.zrequire = namespace.zrequire;
|
||||
|
|
|
@ -69,6 +69,13 @@ exports.stub_out_jquery = function () {
|
|||
$.now = function () {};
|
||||
};
|
||||
|
||||
exports.with_field = function (obj, field, val, f) {
|
||||
const old_val = obj[field];
|
||||
obj[field] = val;
|
||||
f();
|
||||
obj[field] = old_val;
|
||||
};
|
||||
|
||||
exports.with_overrides = function (test_function) {
|
||||
// This function calls test_function() and passes in
|
||||
// a way to override the namespace temporarily.
|
||||
|
|
Loading…
Reference in New Issue