diff --git a/package.json b/package.json index 3e9ef7362..1d69abc35 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "packageDependencies": {}, "scripts": { "test": "electron . --test --enable-logging", + "test-window": "electron . --test=window --enable-logging", "start": "electron . --dev --enable-logging", "lint": "script/grunt lint", "build": "script/grunt build", diff --git a/spec/n1-spec-runner/n1-gui-reporter.cjsx b/spec/n1-spec-runner/n1-gui-reporter.cjsx index f6ef671fa..a23217c1a 100644 --- a/spec/n1-spec-runner/n1-gui-reporter.cjsx +++ b/spec/n1-spec-runner/n1-gui-reporter.cjsx @@ -151,7 +151,7 @@ class N1GuiReporter extends React.Component onReloadSpecs: => - require('electron').ipcRenderer.send('call-webcontents-method', 'reload') + require('electron').remote.getCurrentWindow().reload() class SuiteResultView extends React.Component diff --git a/spec/n1-spec-runner/time-override.coffee b/spec/n1-spec-runner/time-override.coffee index 1055704bc..c8d25b3b1 100644 --- a/spec/n1-spec-runner/time-override.coffee +++ b/spec/n1-spec-runner/time-override.coffee @@ -33,6 +33,7 @@ class TimeOverride @enableSpies = => window.advanceClock = @advanceClock + window.originalSetTimeout = window.setTimeout window.originalSetInterval = window.setInterval spyOn(window, "setTimeout").andCallFake @_fakeSetTimeout spyOn(window, "clearTimeout").andCallFake @_fakeClearTimeout @@ -47,7 +48,7 @@ class TimeOverride @_setPromiseScheduler: => @originalPromiseScheduler ?= Promise.setScheduler (fn) => - fn() + window.originalSetTimeout(fn, 0) @disableSpies = => window.advanceClock = null diff --git a/src/window-event-handler.coffee b/src/window-event-handler.coffee index cf866f1be..6a9dc6b2c 100644 --- a/src/window-event-handler.coffee +++ b/src/window-event-handler.coffee @@ -35,6 +35,7 @@ class WindowEventHandler window.dispatchEvent(new Event('scroll-touch-end')) window.onbeforeunload = => + if NylasEnv.inSpecMode() then return undefined # Don't hide the window here if we don't want the renderer process to be # throttled in case more work needs to be done before closing