From dbe3f024ed5312343216d42d1f0b15f21c51909d Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Thu, 26 Oct 2017 11:58:08 +0200 Subject: [PATCH] smoke: localization --- .../src/areas/extensions/extensions.test.ts | 35 ++++++++++--------- .../src/areas/workbench/localization.test.ts | 33 +++++++++++++---- test/smoke/src/main.ts | 10 +++--- test/smoke/src/spectron/application.ts | 1 + 4 files changed, 52 insertions(+), 27 deletions(-) diff --git a/test/smoke/src/areas/extensions/extensions.test.ts b/test/smoke/src/areas/extensions/extensions.test.ts index 572ab6faa1e..90345cad1ac 100644 --- a/test/smoke/src/areas/extensions/extensions.test.ts +++ b/test/smoke/src/areas/extensions/extensions.test.ts @@ -7,25 +7,26 @@ import * as assert from 'assert'; import { SpectronApplication, Quality } from '../../spectron/application'; describe('Extensions', () => { - let app: SpectronApplication = new SpectronApplication(); - before(() => app.start('Extensions')); - after(() => app.stop()); + it(`install and activate vscode-smoketest-check extension`, async function () { + const app = this.app as SpectronApplication; - if (app.quality !== Quality.Dev) { - it(`install and activate vscode-smoketest-check extension`, async function () { - const extensionName = 'vscode-smoketest-check'; - await app.workbench.extensions.openExtensionsViewlet(); + if (app.quality === Quality.Dev) { + this.skip(); + return; + } - const installed = await app.workbench.extensions.installExtension(extensionName); - assert.ok(installed); + const extensionName = 'vscode-smoketest-check'; + await app.workbench.extensions.openExtensionsViewlet(); - await app.reload(); - await app.workbench.extensions.waitForExtensionsViewlet(); - await app.workbench.quickopen.runCommand('Smoke Test Check'); + const installed = await app.workbench.extensions.installExtension(extensionName); + assert.ok(installed); - const statusbarText = await app.workbench.statusbar.getStatusbarTextByTitle('smoke test'); - await app.screenCapturer.capture('Statusbar'); - assert.equal(statusbarText, 'VS Code Smoke Test Check'); - }); - } + await app.reload(); + await app.workbench.extensions.waitForExtensionsViewlet(); + await app.workbench.quickopen.runCommand('Smoke Test Check'); + + const statusbarText = await app.workbench.statusbar.getStatusbarTextByTitle('smoke test'); + await app.screenCapturer.capture('Statusbar'); + assert.equal(statusbarText, 'VS Code Smoke Test Check'); + }); }); \ No newline at end of file diff --git a/test/smoke/src/areas/workbench/localization.test.ts b/test/smoke/src/areas/workbench/localization.test.ts index 682745aa086..8fe8553044f 100644 --- a/test/smoke/src/areas/workbench/localization.test.ts +++ b/test/smoke/src/areas/workbench/localization.test.ts @@ -8,15 +8,36 @@ import * as assert from 'assert'; import { SpectronApplication, Quality } from '../../spectron/application'; describe('Localization', () => { - let app: SpectronApplication = new SpectronApplication(); - if (app.quality === Quality.Dev) { - return; - } + before(async function () { + const app = this.app as SpectronApplication; - after(() => app.stop()); + if (app.quality === Quality.Dev) { + return; + } - it(`starts with 'DE' locale and verifies title and viewlets text is in German`, async function () { + await app.stop(); + await new Promise(c => setTimeout(c, 500)); await app.start('Localization', ['--locale=DE']); + }); + + after(async function () { + const app = this.app as SpectronApplication; + + if (app.quality === Quality.Dev) { + return; + } + + await app.stop(); + await new Promise(c => setTimeout(c, 500)); + await app.start('foo'); + }); + + it(`starts with 'DE' locale and verifies title and viewlets text is in German`, async function () { + const app = this.app as SpectronApplication; + + if (app.quality === Quality.Dev) { + return; + } let text = await app.workbench.explorer.getOpenEditorsViewTitle(); await app.screenCapturer.capture('Open editors title'); diff --git a/test/smoke/src/main.ts b/test/smoke/src/main.ts index 84d00b159cc..3b6480cf007 100644 --- a/test/smoke/src/main.ts +++ b/test/smoke/src/main.ts @@ -208,7 +208,7 @@ before(async function () { this.timeout(2 * 60 * 1000); await setup(); - this.app = new SpectronApplication({ + const app = new SpectronApplication({ quality, electronPath, workspacePath, @@ -217,7 +217,9 @@ before(async function () { artifactsPath, waitTime: parseInt(opts['wait-time'] || '0') || 20 }); - await this.app.start('foo'); + + await app.start('foo'); + this.app = app; }); after(async function () { @@ -237,5 +239,5 @@ import './areas/debug/debug.test'; import './areas/git/git.test'; // import './areas/terminal/terminal.test'; import './areas/statusbar/statusbar.test'; -// import './areas/extensions/extensions.test'; -// import './areas/workbench/localization.test'; \ No newline at end of file +import './areas/extensions/extensions.test'; +import './areas/workbench/localization.test'; \ No newline at end of file diff --git a/test/smoke/src/spectron/application.ts b/test/smoke/src/spectron/application.ts index 2552224f022..d49ff26c4e0 100644 --- a/test/smoke/src/spectron/application.ts +++ b/test/smoke/src/spectron/application.ts @@ -132,6 +132,7 @@ export class SpectronApplication { if (this.spectron && this.spectron.isRunning()) { await this.screenCapturer.capture('Stopping application'); await this.spectron.stop(); + this.spectron = null; } } -- GitLab