diff --git a/lib/browser/api/auto-updater/auto-updater-win.js b/lib/browser/api/auto-updater/auto-updater-win.js index a010f76dd743..55b8372f52cf 100644 --- a/lib/browser/api/auto-updater/auto-updater-win.js +++ b/lib/browser/api/auto-updater/auto-updater-win.js @@ -10,7 +10,7 @@ class AutoUpdater extends EventEmitter { return this.emitError('No update available, can\'t quit and install') } squirrelUpdate.processStart() - return app.quit() + app.quit() } getFeedURL () { @@ -34,21 +34,17 @@ class AutoUpdater extends EventEmitter { return this.emitError(error) } if (update == null) { - this.updateAvailable = false return this.emit('update-not-available') } this.updateAvailable = true this.emit('update-available') squirrelUpdate.update(this.updateURL, (error) => { - var date, releaseNotes, version if (error != null) { return this.emitError(error) } - releaseNotes = update.releaseNotes - version = update.version - - // Following information is not available on Windows, so fake them. - date = new Date() + const {releaseNotes, version} = update + // Date is not available on Windows, so fake it. + const date = new Date() this.emit('update-downloaded', {}, releaseNotes, version, date, this.updateURL, () => { this.quitAndInstall() }) @@ -59,7 +55,7 @@ class AutoUpdater extends EventEmitter { // Private: Emit both error object and message, this is to keep compatibility // with Old APIs. emitError (message) { - return this.emit('error', new Error(message), message) + this.emit('error', new Error(message), message) } } diff --git a/spec/api-auto-updater-spec.js b/spec/api-auto-updater-spec.js index f93590ccadd4..0716c2245df8 100644 --- a/spec/api-auto-updater-spec.js +++ b/spec/api-auto-updater-spec.js @@ -50,5 +50,19 @@ if (!process.mas) { done() }) }) + + describe('quitAndInstall', function () { + it('emits an error on Windows when no update is available', function (done) { + if (process.platform !== 'win32') { + return done() + } + + ipcRenderer.once('auto-updater-error', function (event, message) { + assert.equal(message, 'No update available, can\'t quit and install') + done() + }) + autoUpdater.quitAndInstall() + }) + }) }) }