diff options
author | GeoSot <geo.sotis@gmail.com> | 2021-12-01 17:49:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-01 17:49:02 +0300 |
commit | 8b308b76f0ec826908ebe8b106688378f5d616a5 (patch) | |
tree | 1862e19e2ec9d756e9a7c2b71fa86a76895a3a0e /js | |
parent | 01b08d958cdfecb5174fa8baa2272c06ab6b2668 (diff) |
Dropdown tests: Use a function to improve readability (#35448)
Diffstat (limited to 'js')
-rw-r--r-- | js/tests/unit/dropdown.spec.js | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/js/tests/unit/dropdown.spec.js b/js/tests/unit/dropdown.spec.js index 9c0eae6d85..bec0aae62e 100644 --- a/js/tests/unit/dropdown.spec.js +++ b/js/tests/unit/dropdown.spec.js @@ -1684,51 +1684,32 @@ describe('Dropdown', () => { const input = fixtureEl.querySelector('input') const textarea = fixtureEl.querySelector('textarea') - const keydownSpace = createEvent('keydown') - keydownSpace.key = 'Space' - - const keydownArrowUp = createEvent('keydown') - keydownArrowUp.key = 'ArrowUp' - - const keydownArrowDown = createEvent('keydown') - keydownArrowDown.key = 'ArrowDown' + const test = (eventKey, elementToDispatch) => { + const event = createEvent('keydown') + event.key = eventKey + elementToDispatch.focus() + elementToDispatch.dispatchEvent(event) + expect(document.activeElement).toEqual(elementToDispatch, `${elementToDispatch.tagName} still focused`) + } const keydownEscape = createEvent('keydown') keydownEscape.key = 'Escape' triggerDropdown.addEventListener('shown.bs.dropdown', () => { // Key Space - input.focus() - input.dispatchEvent(keydownSpace) + test('Space', input) - expect(document.activeElement).toEqual(input, 'input still focused') - - textarea.focus() - textarea.dispatchEvent(keydownSpace) - - expect(document.activeElement).toEqual(textarea, 'textarea still focused') + test('Space', textarea) // Key ArrowUp - input.focus() - input.dispatchEvent(keydownArrowUp) + test('ArrowUp', input) - expect(document.activeElement).toEqual(input, 'input still focused') - - textarea.focus() - textarea.dispatchEvent(keydownArrowUp) - - expect(document.activeElement).toEqual(textarea, 'textarea still focused') + test('ArrowUp', textarea) // Key ArrowDown - input.focus() - input.dispatchEvent(keydownArrowDown) + test('ArrowDown', input) - expect(document.activeElement).toEqual(input, 'input still focused') - - textarea.focus() - textarea.dispatchEvent(keydownArrowDown) - - expect(document.activeElement).toEqual(textarea, 'textarea still focused') + test('ArrowDown', textarea) // Key Escape input.focus() |