spec: refactor helper closeWindow() function (#13337)

This commit is contained in:
Alexey Kuzmin 2018-06-21 16:43:15 +02:00 committed by Samuel Attard
parent b9da1575f0
commit 10a174fc6a

View file

@ -1,22 +1,19 @@
const assert = require('assert')
const {expect} = require('chai')
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)
window.close()
})
const {emittedOnce} = require('./events-helpers')
exports.closeWindow = async (window = null,
{assertSingleWindow} = {assertSingleWindow: true}) => {
const windowExists = (window !== null) && !window.isDestroyed()
if (windowExists) {
const isClosed = emittedOnce(window, 'closed')
window.setClosable(true)
window.close()
await isClosed
}
if (assertSingleWindow) {
expect(BrowserWindow.getAllWindows()).to.have.lengthOf(1)
}
}