Assert single window from closeWindow helper
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 29 Nov 2016 19:06:22 +0000 (11:06 -0800)
committerKevin Sawicki <kevinsawicki@gmail.com>
Tue, 29 Nov 2016 19:29:20 +0000 (11:29 -0800)
spec/api-browser-window-spec.js
spec/window-helpers.js

index e7f15df..6c38ba9 100644 (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()
               })
index 9909ec6..5a63100 100644 (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)