From 50586aa72cbbd4eb75a2c52516c3e49e873e7166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20L=C3=B6fgren?= Date: Thu, 23 Apr 2020 08:13:54 +0200 Subject: [PATCH] Add test for #9 (and deal with #16) (#31) --- test/fixture/index.js | 5 +++++ test/fixture/renderer.js | 10 +++++++++- test/fixture/test.js | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/test/fixture/index.js b/test/fixture/index.js index 09f4090..39b04fb 100644 --- a/test/fixture/index.js +++ b/test/fixture/index.js @@ -19,6 +19,11 @@ ipc.answerRenderer('test-error', async () => { throw new Error('test-error:main:answer'); }); +ipc.answerRenderer('test-concurrency', async data => { + console.log('test-concurrency:main:data-from-renderer:', data); + return `test-concurrency:main:answer:${data}`; +}); + let mainWindow; (async () => { diff --git a/test/fixture/renderer.js b/test/fixture/renderer.js index c199f22..c5e3826 100644 --- a/test/fixture/renderer.js +++ b/test/fixture/renderer.js @@ -17,7 +17,15 @@ ipc.callMain('test-error').catch(error => { ipc.callMain('test-focused', 'optional-data').then(answer => { console.log('test-focused:renderer:answer-from-main:', answer); -}) +}); + +ipc.callMain('test-concurrency', 'data-1').then(answer => { + console.log('test-concurrency:renderer:answer-from-main-1:', answer); +}); + +ipc.callMain('test-concurrency', 'data-2').then(answer => { + console.log('test-concurrency:renderer:answer-from-main-2:', answer); +}); ipc.answerMain('test-focused', data => { console.log('test-focused:renderer:data-from-main:', data); diff --git a/test/fixture/test.js b/test/fixture/test.js index 9eabf9b..0edaf89 100644 --- a/test/fixture/test.js +++ b/test/fixture/test.js @@ -45,12 +45,16 @@ test('main', async t => { t.deepEqual(logs, [ // TODO: The value is missing as Spectron only captures the first argument to `console.log`: // https://github.com/electron/spectron/issues/282 + '"test-concurrency:renderer:answer-from-main-1:" "test-concurrency:main:answer:data-1"', + '"test-concurrency:renderer:answer-from-main-2:" "test-concurrency:main:answer:data-2"', '"test-error:renderer:from-main:error-message" "test-error:main:answer"', '"test-error:renderer:from-main:is-error" true', '"test-focused:renderer:answer-from-main:" "test-focused:main:answer"', '"test-focused:renderer:data-from-main:" "optional-data"', '"test:renderer:answer-from-main:" "test:main:answer"', '"test:renderer:data-from-main:" "optional-data"', + 'test-concurrency:main:data-from-renderer: data-1', + 'test-concurrency:main:data-from-renderer: data-2', 'test-focused:main:answer-from-renderer: test-focused:renderer:answer-data', 'test-focused:main:data-from-renderer: optional-data', 'test-focused:main:error-from-renderer: No browser window in focus',