Go back to using promise based on window:loaded event in main process tests

This commit is contained in:
Max Brunsfeld
2016-09-21 11:37:24 -07:00
parent cff4de5195
commit 3039024d17
3 changed files with 13 additions and 18 deletions

View File

@@ -707,7 +707,6 @@ class AtomEnvironment extends Model
@menu.update()
@openInitialEmptyEditorIfNecessary()
ipcRenderer.send('window-command', 'window:application-started')
serialize: (options) ->
version: @constructor.version

View File

@@ -20,6 +20,9 @@ class AtomWindow
locationsToOpen ?= [{pathToOpen}] if pathToOpen
locationsToOpen ?= []
@loadedPromise = new Promise((@resolveLoadedPromise) =>)
@closedPromise = new Promise((@resolveClosedPromise) =>)
options =
show: false
title: 'Atom'
@@ -71,12 +74,9 @@ class AtomWindow
@browserWindow.loadSettings = loadSettings
@closedPromise = new Promise((@resolveClosedPromise) =>)
@applicationStartedPromise = new Promise (resolve) =>
@browserWindow.once('window:application-started', resolve)
@browserWindow.once 'window:loaded', =>
@loaded = true
@browserWindow.on 'window:loaded', =>
@emit 'window:loaded'
@resolveLoadedPromise()
@setLoadSettings(loadSettings)
@env = loadSettings.env if loadSettings.env?
@@ -193,10 +193,7 @@ class AtomWindow
@openLocations([{pathToOpen, initialLine, initialColumn}])
openLocations: (locationsToOpen) ->
if @loaded
@sendMessage 'open-locations', locationsToOpen
else
@browserWindow.once 'window:loaded', => @openLocations(locationsToOpen)
@loadedPromise.then => @sendMessage 'open-locations', locationsToOpen
replaceEnvironment: (env) ->
@browserWindow.webContents.send 'environment', env
@@ -255,9 +252,8 @@ class AtomWindow
isSpecWindow: -> @isSpec
reload: ->
@applicationStartedPromise = new Promise (resolve) =>
@browserWindow.once('window:application-started', resolve)
@loadedPromise = new Promise((@resolveLoadedPromise) =>)
@saveState().then => @browserWindow.reload()
@applicationStartedPromise
@loadedPromise
toggleDevTools: -> @browserWindow.toggleDevTools()