diff --git a/scripts/__tests__/EventTest/KeyboardEvent.test.js b/scripts/__tests__/EventTest/KeyboardEvent.test.js index 094cb1fe..ccc29222 100644 --- a/scripts/__tests__/EventTest/KeyboardEvent.test.js +++ b/scripts/__tests__/EventTest/KeyboardEvent.test.js @@ -1,8 +1,17 @@ import * as Horizon from '@cloudsop/horizon/index.ts'; -import { getLogUtils } from '../jest/testUtils'; +import {getLogUtils} from '../jest/testUtils'; describe('Keyboard Event', () => { const LogUtils = getLogUtils(); + const getKeyboardEvent = (type, keyCode, code, charCode) => { + return new KeyboardEvent(type, { + keyCode: keyCode ?? undefined, + code: code ?? undefined, + charCode: charCode ?? undefined, + bubbles: true, + cancelable: true, + }); + }; it('keydown,keypress,keyup的keycode,charcode', () => { const node = Horizon.render( @@ -16,26 +25,12 @@ describe('Keyboard Event', () => { />, container, ); - node.dispatchEvent( - new KeyboardEvent('keydown', { - keyCode: 50, - code: 'Digit2', - bubbles: true, - cancelable: true, - }), - ); - node.dispatchEvent( - new KeyboardEvent('keyup', { - keyCode: 50, - code: 'Digit2', - bubbles: true, - cancelable: true, - }), - ); + node.dispatchEvent(getKeyboardEvent('keydown', 50, 'Digit2')); + node.dispatchEvent(getKeyboardEvent('keyup', 50, 'Digit2')); expect(LogUtils.getAndClear()).toEqual([ 'onKeyDown: keycode: 50,charcode: 0', - 'onKeyUp: keycode: 50,charcode: 0' + 'onKeyUp: keycode: 50,charcode: 0', ]); }); @@ -48,17 +43,10 @@ describe('Keyboard Event', () => { />, container, ); - node.dispatchEvent( - new KeyboardEvent('keypress', { - charCode: 50, - code: 'Digit2', - bubbles: true, - cancelable: true, - }), - ); + node.dispatchEvent(getKeyboardEvent('keypress', undefined, 'Digit2', 50)); expect(LogUtils.getAndClear()).toEqual([ - 'onKeyPress: keycode: 0,charcode: 50' + 'onKeyPress: keycode: 0,charcode: 50', ]); }); @@ -71,15 +59,9 @@ describe('Keyboard Event', () => { />, container, ); - node.dispatchEvent( - new KeyboardEvent('keypress', { - charCode: 13, - bubbles: true, - cancelable: true, - }), - ); + node.dispatchEvent(getKeyboardEvent('keypress', undefined, undefined, 13)); expect(LogUtils.getAndClear()).toEqual([ - 'onKeyPress: keycode: 0,charcode: 13' + 'onKeyPress: keycode: 0,charcode: 13', ]); }); @@ -98,22 +80,8 @@ describe('Keyboard Event', () => { />, container, ); - node.dispatchEvent( - new KeyboardEvent('keydown', { - code: 'Digit2', - bubbles: true, - cancelable: true, - }), - ); - - node.dispatchEvent( - new KeyboardEvent('keypress', { - keyCode: 50, - code: 'Digit2', - bubbles: true, - cancelable: true, - }), - ); + node.dispatchEvent(getKeyboardEvent('keydown', undefined, 'Digit2')); + node.dispatchEvent(getKeyboardEvent('keypress', undefined, 'Digit2', 50)); node.dispatchEvent( new KeyboardEvent('keyup', { @@ -126,7 +94,7 @@ describe('Keyboard Event', () => { expect(LogUtils.getAndClear()).toEqual([ 'onKeyDown: code: Digit2', 'onKeyPress: code: Digit2', - 'onKeyUp: code: Digit2' + 'onKeyUp: code: Digit2', ]); }); @@ -149,32 +117,14 @@ describe('Keyboard Event', () => { />, container, ); + div.dispatchEvent(getKeyboardEvent('keydown', 40)); + div.dispatchEvent(getKeyboardEvent('keyup', 40)); + div.dispatchEvent(getKeyboardEvent('keypress', 40)); - div.dispatchEvent( - new KeyboardEvent('keydown', { - keyCode: 40, - bubbles: true, - cancelable: true, - }), - ); - div.dispatchEvent( - new KeyboardEvent('keyup', { - keyCode: 40, - bubbles: true, - cancelable: true, - }), - ); - div.dispatchEvent( - new KeyboardEvent('keypress', { - charCode: 40, - bubbles: true, - cancelable: true, - }), - ); expect(LogUtils.getAndClear()).toEqual([ 'keydown handle', 'keyup handle', - 'keypress handle' + 'keypress handle', ]); }); });