Assert single window from closeWindow helper

This commit is contained in:
Kevin Sawicki 2016-11-29 11:06:22 -08:00
parent 1afa41477d
commit d7e7c2b17f
2 changed files with 12 additions and 6 deletions

View file

@ -82,10 +82,7 @@ describe('browser-window module', function () {
})
afterEach(function () {
return closeWindow(w).then(function () {
w = null
assert.equal(BrowserWindow.getAllWindows().length, 1)
})
return closeWindow(w).then(function () { w = null })
})
describe('BrowserWindow.close()', function () {
@ -859,7 +856,7 @@ describe('browser-window module', function () {
assert(/Blocked a frame with origin/.test(exceptionMessage))
// FIXME this popup window should be closed in sandbox.html
closeWindow(popupWindow).then(() => {
closeWindow(popupWindow, {assertSingleWindow: false}).then(() => {
popupWindow = null
done()
})

View file

@ -1,9 +1,18 @@
exports.closeWindow = (window) => {
const assert = require('assert')
const {BrowserWindow} = require('electron').remote
exports.closeWindow = (window, {assertSingleWindow} = {assertSingleWindow: true}) => {
if (window == null || window.isDestroyed()) {
if (assertSingleWindow) {
assert.equal(BrowserWindow.getAllWindows().length, 1)
}
return Promise.resolve()
} else {
return new Promise((resolve, reject) => {
window.once('closed', () => {
if (assertSingleWindow) {
assert.equal(BrowserWindow.getAllWindows().length, 1)
}
resolve()
})
window.setClosable(true)