diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-11-05 19:55:35 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-11-05 19:55:35 +0900 |
commit | 6c712667abdc3a5a51dc0ac15a7cbe56b603badb (patch) | |
tree | 1f3d14e5e336d7e5d0edac3db5c881c8fd3a1c22 /app/assets/javascripts/test_utils | |
parent | a0f7819ff5d6164a13dcad1e0ceab3567354592b (diff) | |
parent | eba27fe022562e6e5cdae81a08addff6ec152826 (diff) | |
download | gitlab-ce-6c712667abdc3a5a51dc0ac15a7cbe56b603badb.tar.gz |
Merge branch 'refactor-clusters' into move-kubernetes-from-service-to-clusters-page-10-2-ver
Diffstat (limited to 'app/assets/javascripts/test_utils')
-rw-r--r-- | app/assets/javascripts/test_utils/index.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/test_utils/simulate_input.js | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/app/assets/javascripts/test_utils/index.js b/app/assets/javascripts/test_utils/index.js index 8875590f0f2..a55a338eea8 100644 --- a/app/assets/javascripts/test_utils/index.js +++ b/app/assets/javascripts/test_utils/index.js @@ -1,6 +1,8 @@ import 'core-js/es6/map'; import 'core-js/es6/set'; import simulateDrag from './simulate_drag'; +import simulateInput from './simulate_input'; // Export to global space for rspec to use window.simulateDrag = simulateDrag; +window.simulateInput = simulateInput; diff --git a/app/assets/javascripts/test_utils/simulate_input.js b/app/assets/javascripts/test_utils/simulate_input.js new file mode 100644 index 00000000000..90c1b7cb57e --- /dev/null +++ b/app/assets/javascripts/test_utils/simulate_input.js @@ -0,0 +1,23 @@ +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 { + triggerEvents(input); + } + return true; +} |