mirror of https://github.com/zulip/zulip.git
input_pill: Add test for `input` event handler.
This commit is contained in:
parent
dbebd0ddbf
commit
5ea98cba54
|
@ -643,7 +643,7 @@ run_test("appendValue/clear", ({mock_template}) => {
|
|||
assert.equal($pill_input[0].textContent, "");
|
||||
});
|
||||
|
||||
run_test("getCurrentText/onTextInputHook", ({mock_template}) => {
|
||||
run_test("getCurrentText", ({mock_template}) => {
|
||||
mock_template("input_pill.hbs", true, (data, html) => {
|
||||
assert.equal(typeof data.display_value, "string");
|
||||
return html;
|
||||
|
@ -659,15 +659,10 @@ run_test("getCurrentText/onTextInputHook", ({mock_template}) => {
|
|||
widget.appendValue("blue,red");
|
||||
assert.deepEqual(widget.items(), [items.blue, items.red]);
|
||||
|
||||
const onTextInputHook = () => {
|
||||
assert.deepEqual(widget.items(), [items.blue, items.red]);
|
||||
};
|
||||
widget.onTextInputHook(onTextInputHook);
|
||||
|
||||
$pill_input.text("yellow");
|
||||
assert.equal(widget.getCurrentText(), "yellow");
|
||||
|
||||
const key_handler = $container.get_on_handler("input", ".input");
|
||||
const key_handler = $container.get_on_handler("keydown", ".input");
|
||||
key_handler({
|
||||
key: " ",
|
||||
preventDefault: noop,
|
||||
|
@ -677,5 +672,35 @@ run_test("getCurrentText/onTextInputHook", ({mock_template}) => {
|
|||
preventDefault: noop,
|
||||
});
|
||||
|
||||
assert.deepEqual(widget.items(), [items.blue, items.red]);
|
||||
assert.deepEqual(widget.items(), [items.blue, items.red, items.yellow]);
|
||||
});
|
||||
|
||||
run_test("onTextInputHook", () => {
|
||||
const info = set_up();
|
||||
const config = info.config;
|
||||
const widget = input_pill.create(config);
|
||||
const $container = info.$container;
|
||||
const $pill_input = info.$pill_input;
|
||||
|
||||
let hookCalled = false;
|
||||
let currentText = "re";
|
||||
const onTextInputHook = () => {
|
||||
hookCalled = true;
|
||||
|
||||
// Test that the hook always gets the correct updated text.
|
||||
assert.equal(widget.getCurrentText(), currentText);
|
||||
};
|
||||
|
||||
widget.onTextInputHook(onTextInputHook);
|
||||
|
||||
const input_handler = $container.get_on_handler("input", ".input");
|
||||
|
||||
$pill_input.text(currentText);
|
||||
input_handler();
|
||||
|
||||
currentText += "d";
|
||||
$pill_input.text(currentText);
|
||||
input_handler();
|
||||
|
||||
assert.ok(hookCalled);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue