From fe4edc9d97eb4ecfed210f30b879dc7a39b961e5 Mon Sep 17 00:00:00 2001 From: Nitish Sakhawalkar Date: Tue, 2 Oct 2018 23:53:50 -0700 Subject: [PATCH] Update spec --- spec/api-web-frame-spec.js | 14 +++++++++++--- spec/fixtures/pages/webframe-spell-check.html | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/spec/api-web-frame-spec.js b/spec/api-web-frame-spec.js index 86058225f77fe..93476d0c2e1ca 100644 --- a/spec/api-web-frame-spec.js +++ b/spec/api-web-frame-spec.js @@ -150,13 +150,21 @@ describe('webFrame module', function () { w.loadFile(path.join(fixtures, 'pages', 'webframe-spell-check.html')) await emittedOnce(w.webContents, 'did-finish-load') - const spellCheckerFeedback = emittedOnce(ipcMain, 'spec-spell-check') + const spellCheckerFeedback = + new Promise((resolve, reject) => { + ipcMain.on('spec-spell-check', (e, words, callback) => { + if (words.length === 2) { + // The promise is resolved only after this event is received twice + // Array contains only 1 word first time and 2 the next time + resolve([words, callback]) + } + }) + }) const inputText = 'spleling test ' for (const keyCode of inputText) { w.webContents.sendInputEvent({ type: 'char', keyCode }) } - const [, words, callback] = await spellCheckerFeedback - + const [words, callback] = await spellCheckerFeedback expect(words).to.deep.equal(['spleling', 'test']) expect(callback).to.be.true() }) diff --git a/spec/fixtures/pages/webframe-spell-check.html b/spec/fixtures/pages/webframe-spell-check.html index ef16dbcd5ea17..8b162201a4d30 100644 --- a/spec/fixtures/pages/webframe-spell-check.html +++ b/spec/fixtures/pages/webframe-spell-check.html @@ -4,6 +4,7 @@ const {ipcRenderer, webFrame} = require('electron') webFrame.setSpellCheckProvider('en-US', { spellCheck: (words, callback) => { + callback(words) ipcRenderer.send('spec-spell-check', words, callback != undefined) } })