From c9a2a47ee184163e6c2841d0c7a8865691bbdcba Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Thu, 29 Mar 2018 19:45:54 +0200 Subject: [PATCH 1/2] test(spectron): Refactor tests, dereference app after use Change-Type: patch --- tests/spectron/browser-window.js | 35 -------------------------------- tests/spectron/runner.spec.js | 33 +++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 42 deletions(-) delete mode 100644 tests/spectron/browser-window.js diff --git a/tests/spectron/browser-window.js b/tests/spectron/browser-window.js deleted file mode 100644 index 7de6d5dd..00000000 --- a/tests/spectron/browser-window.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2017 resin.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -'use strict' - -const m = require('mochainon') - -module.exports = () => { - describe('Browser Window', function () { - it('should set a proper title', function () { - return this.app.client.getTitle().then((title) => { - m.chai.expect(title).to.equal('Etcher') - }) - }) - - it('should open a browser window', function () { - return this.app.browserWindow.isVisible().then((isVisible) => { - m.chai.expect(isVisible).to.be.true - }) - }) - }) -} diff --git a/tests/spectron/runner.spec.js b/tests/spectron/runner.spec.js index 72ff4dd3..b3f8ba78 100644 --- a/tests/spectron/runner.spec.js +++ b/tests/spectron/runner.spec.js @@ -18,6 +18,7 @@ const Bluebird = require('bluebird') const spectron = require('spectron') +const m = require('mochainon') const EXIT_CODES = require('../../lib/shared/exit-codes') const entrypoint = process.env.ETCHER_SPECTRON_ENTRYPOINT @@ -30,22 +31,40 @@ describe('Spectron', function () { // Mainly for CI jobs this.timeout(20000) - beforeEach(function () { - this.app = new spectron.Application({ + let app = null + + before('app:start', function () { + app = new spectron.Application({ path: entrypoint, args: [ '.' ] }) - return this.app.start() + return app.start() }) - afterEach(function () { - if (this.app && this.app.isRunning()) { - return this.app.stop() + after('app:stop', function () { + if (app && app.isRunning()) { + return app.stop() } return Bluebird.resolve() }) - require('./browser-window')() + after('app:deref', function () { + app = null + }) + + describe('Browser Window', function () { + it('should open a browser window', function () { + return app.browserWindow.isVisible().then((isVisible) => { + m.chai.expect(isVisible).to.be.true + }) + }) + + it('should set a proper title', function () { + return app.client.getTitle().then((title) => { + m.chai.expect(title).to.equal('Etcher') + }) + }) + }) }) From 1f8e09868d1b2fcbd55f6ee71599740241eff538 Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Thu, 29 Mar 2018 19:46:38 +0200 Subject: [PATCH 2/2] upgrade(package): Bump spectron 3.7.2 -> 3.7.3 Change-Type: patch --- npm-shrinkwrap.json | 136 ++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 63 insertions(+), 75 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 64dff191..e697a0e0 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -402,8 +402,8 @@ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.0.tgz" }, "archiver": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.0.tgz", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", "dev": true }, "archiver-utils": { @@ -1935,6 +1935,11 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "dev": true + }, "command-join": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/command-join/-/command-join-2.0.0.tgz" @@ -2269,6 +2274,11 @@ } } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "dev": true + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" @@ -2623,49 +2633,35 @@ "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-1.7.1.tgz", "dev": true, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "dev": true + }, "electron-download": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.0.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "dev": true - } - } + "dev": true }, "fs-extra": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", "dev": true }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "dev": true - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "dev": true }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "dev": true }, "sumchecker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "dev": true - } - } + "dev": true } } }, @@ -6880,6 +6876,11 @@ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", "dev": true }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "dev": true + }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", @@ -7615,8 +7616,8 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz" }, "spectron": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/spectron/-/spectron-3.7.2.tgz", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/spectron/-/spectron-3.7.3.tgz", "dev": true }, "speedometer": { @@ -8527,11 +8528,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" }, - "validator": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/validator/-/validator-9.1.2.tgz", - "dev": true - }, "verror": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" @@ -8620,18 +8616,18 @@ "dev": true }, "webdriverio": { - "version": "4.9.11", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.9.11.tgz", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.12.0.tgz", "dev": true, "dependencies": { "ajv": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "dev": true }, "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "dev": true }, "ansi-regex": { @@ -8640,8 +8636,8 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "dev": true }, "assert-plus": { @@ -8665,13 +8661,13 @@ "dev": true }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "dev": true, "dependencies": { "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "dev": true } } @@ -8686,11 +8682,6 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", "dev": true }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "dev": true - }, "cryptiles": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", @@ -8703,11 +8694,6 @@ } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "dev": true - }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", @@ -8719,8 +8705,8 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "dev": true }, "har-schema": { @@ -8734,8 +8720,8 @@ "dev": true }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "dev": true }, "hawk": { @@ -8744,8 +8730,8 @@ "dev": true }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", "dev": true }, "http-signature": { @@ -8764,13 +8750,13 @@ "dev": true }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", "dev": true }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "dev": true }, "mute-stream": { @@ -8798,11 +8784,6 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", "dev": true }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "dev": true - }, "request": { "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", @@ -8846,16 +8827,23 @@ "supports-color": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", - "dev": true + "dev": true, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "dev": true + } + } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "dev": true }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", "dev": true } } diff --git a/package.json b/package.json index b1f45ada..2fafa940 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "pkg": "4.3.0", "sass-lint": "1.12.1", "simple-progress-webpack-plugin": "1.1.2", - "spectron": "3.7.2", + "spectron": "3.7.3", "versionist": "2.8.1", "webpack": "github:jviotti/webpack#symlink-fix" }