From: Kevin Sawicki Date: Fri, 7 Oct 2016 21:44:35 +0000 (-0700) Subject: Add keydown sendInputEvent specs X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d69367aa9bf60594d00ac0b6ec7e10c746b35f73;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Add keydown sendInputEvent specs --- diff --git a/spec/api-web-contents-spec.js b/spec/api-web-contents-spec.js index 7e77c39bd..3a28ff36d 100644 --- a/spec/api-web-contents-spec.js +++ b/spec/api-web-contents-spec.js @@ -5,7 +5,7 @@ const path = require('path') const {closeWindow} = require('./window-helpers') const {remote} = require('electron') -const {BrowserWindow, webContents} = remote +const {BrowserWindow, webContents, ipcMain} = remote const isCi = remote.getGlobal('isCi') @@ -97,4 +97,60 @@ describe('webContents module', function () { }) }) }) + + describe('sendInputEvent(event)', function () { + it('can send keydown events', function (done) { + w.loadURL('file://' + path.join(__dirname, 'fixtures', 'pages', 'onkeydown.html')) + + ipcMain.once('keydown', function (event, key, code, keyCode, shiftKey, ctrlKey, altKey) { + assert.equal(key, '') + assert.equal(code, '') + assert.equal(keyCode, 65) + assert.equal(shiftKey, false) + assert.equal(ctrlKey, false) + assert.equal(altKey, false) + done() + }) + + w.webContents.once('did-finish-load', function () { + w.webContents.sendInputEvent({type: 'keyDown', keyCode: 'A'}) + }) + }) + + it('can send keydown events with modifiers', function (done) { + w.loadURL('file://' + path.join(__dirname, 'fixtures', 'pages', 'onkeydown.html')) + + ipcMain.once('keydown', function (event, key, code, keyCode, shiftKey, ctrlKey, altKey) { + assert.equal(key, '') + assert.equal(code, '') + assert.equal(keyCode, 90) + assert.equal(shiftKey, true) + assert.equal(ctrlKey, true) + assert.equal(altKey, false) + done() + }) + + w.webContents.once('did-finish-load', function () { + w.webContents.sendInputEvent({type: 'keyDown', keyCode: 'Z', modifiers: ['shift', 'ctrl']}) + }) + }) + + it('can send keydown events with special keys', function (done) { + w.loadURL('file://' + path.join(__dirname, 'fixtures', 'pages', 'onkeydown.html')) + + ipcMain.once('keydown', function (event, key, code, keyCode, shiftKey, ctrlKey, altKey) { + assert.equal(key, '') + assert.equal(code, '') + assert.equal(keyCode, 9) + assert.equal(shiftKey, false) + assert.equal(ctrlKey, false) + assert.equal(altKey, true) + done() + }) + + w.webContents.once('did-finish-load', function () { + w.webContents.sendInputEvent({type: 'keyDown', keyCode: 'Tab', modifiers: ['alt']}) + }) + }) + }) }) diff --git a/spec/fixtures/pages/onkeydown.html b/spec/fixtures/pages/onkeydown.html new file mode 100644 index 000000000..859893efd --- /dev/null +++ b/spec/fixtures/pages/onkeydown.html @@ -0,0 +1,9 @@ + + + + +