gitlab-org--gitlab-foss/app/assets/javascripts/test_utils/simulate_input.js

24 lines
585 B
JavaScript
Raw Normal View History

function triggerEvents(input) {
input.dispatchEvent(new Event('keydown'));
input.dispatchEvent(new Event('keypress'));
input.dispatchEvent(new Event('input'));
input.dispatchEvent(new Event('keyup'));
}
export default function simulateInput(target, text) {
const input = document.querySelector(target);
if (!input || !input.matches('textarea, input')) {
return false;
}
if (text.length > 0) {
Array.prototype.forEach.call(text, char => {
input.value += char;
triggerEvents(input);
});
} else {
2017-10-31 13:39:36 -04:00
triggerEvents(input);
}
return true;
}