electron/spec-main/window-helpers.ts
2019-03-14 12:50:06 -07:00

26 lines
752 B
TypeScript

import { expect } from 'chai'
import { BrowserWindow, WebContents } from 'electron'
import { emittedOnce } from './events-helpers';
export const closeWindow = async (
window: BrowserWindow | null = null,
{ assertNotWindows } = { assertNotWindows: true }
) => {
if (window && !window.isDestroyed()) {
const isClosed = emittedOnce(window, 'closed')
window.setClosable(true)
window.close()
await isClosed
}
if (assertNotWindows) {
expect(BrowserWindow.getAllWindows()).to.have.lengthOf(0)
}
}
exports.waitForWebContentsToLoad = async (webContents: WebContents) => {
const didFinishLoadPromise = emittedOnce(webContents, 'did-finish-load')
if (webContents.isLoadingMainFrame()) {
await didFinishLoadPromise
}
}