From: GeoSot Date: Wed, 1 Dec 2021 14:49:02 +0000 (+0200) Subject: Dropdown tests: Use a function to improve readability (#35448) X-Git-Tag: v5.2.0-beta1~400 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b308b76f0ec826908ebe8b106688378f5d616a5;p=thirdparty%2Fbootstrap.git Dropdown tests: Use a function to improve readability (#35448) --- 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()