From 4f7705132665f737c130173acd15c21230c43a8f Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Sat, 24 Aug 2019 02:41:11 +0800 Subject: [PATCH] test: Add Trigger Keyboard Focus test case. --- test/run.test.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/run.test.js b/test/run.test.js index 7110aed..6e57e53 100644 --- a/test/run.test.js +++ b/test/run.test.js @@ -50,6 +50,25 @@ function __triggerKeyboardUp(el, keyCode, opt) { } el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent('onkeyup', eventObj); } +function __triggerKeyboardFocus(el, keyCode, opt) { + const eventObj = document.createEventObject ? + document.createEventObject() : document.createEvent('Events'); + if (eventObj.initEvent) { + eventObj.initEvent('focus', true, true); + } + if (keyCode) { + eventObj.keyCode = keyCode; + eventObj.which = keyCode; + } + if (opt) { + for (const a in opt) { + if (Object.prototype.hasOwnProperty.call(opt, a)) { + eventObj[a] = opt[a]; + } + } + } + el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent('onfocus', eventObj); +} beforeAll(async () => { browser = await puppeteer.launch({ args: ['--no-sandbox'] }); @@ -90,6 +109,7 @@ describe('\n Hotkeys.js Test Case222.\n', () => { test('HotKeys modifier scope,setScope,getScope,deleteScope Test Case', () => { let isExecuteFunction = false; + __triggerKeyboardFocus(window); hotkeys('⌘+d', 'files', (e) => { isExecuteFunction = true; expect(e.keyCode).toBe(68);