From bfb93881916578f73bf48c929ceb73a1b3b95710 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 6 Apr 2017 15:02:32 -0700 Subject: [PATCH] Add failing spec for app.exit with >2 windows --- spec/api-app-spec.js | 10 ++++++++++ spec/fixtures/api/exit-closes-all-windows-app/main.js | 19 +++++++++++++++++++ .../api/exit-closes-all-windows-app/package.json | 4 ++++ 3 files changed, 33 insertions(+) create mode 100644 spec/fixtures/api/exit-closes-all-windows-app/main.js create mode 100644 spec/fixtures/api/exit-closes-all-windows-app/package.json diff --git a/spec/api-app-spec.js b/spec/api-app-spec.js index 301d6ae..9a9b433 100644 --- a/spec/api-app-spec.js +++ b/spec/api-app-spec.js @@ -137,6 +137,16 @@ describe('app module', function () { done() }) }) + + it('closes all windows', function (done) { + var appPath = path.join(__dirname, 'fixtures', 'api', 'exit-closes-all-windows-app') + var electronPath = remote.getGlobal('process').execPath + appProcess = ChildProcess.spawn(electronPath, [appPath]) + appProcess.on('close', function (code) { + assert.equal(code, 123) + done() + }) + }) }) describe('app.relaunch', function () { diff --git a/spec/fixtures/api/exit-closes-all-windows-app/main.js b/spec/fixtures/api/exit-closes-all-windows-app/main.js new file mode 100644 index 0000000..c97d8d1 --- /dev/null +++ b/spec/fixtures/api/exit-closes-all-windows-app/main.js @@ -0,0 +1,19 @@ +const {app, BrowserWindow} = require('electron') + +const windows = [] + +function createWindow (id) { + const window = new BrowserWindow({show: false}) + window.loadURL(`data:,window${id}`) + windows.push(window) +} + +app.once('ready', () => { + for (let i = 1; i <= 5; i++) { + createWindow(i) + } + + setImmediate(function () { + app.exit(123) + }) +}) diff --git a/spec/fixtures/api/exit-closes-all-windows-app/package.json b/spec/fixtures/api/exit-closes-all-windows-app/package.json new file mode 100644 index 0000000..ae52532 --- /dev/null +++ b/spec/fixtures/api/exit-closes-all-windows-app/package.json @@ -0,0 +1,4 @@ +{ + "name": "electron-exit-closes-all-windows", + "main": "main.js" +} -- 2.7.4