From b58f84626f2976e6dd7f9dad6627e21b352dee84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Sun, 25 Aug 2019 17:50:46 +0200 Subject: Switch to `@types/vscode` and `vscode-test` The old `vscode` package is outdated and it is recommened to switch to these two new packages. This also solves a problem of a missing `.d.ts` for `vscode` in Nixos. --- editors/code/src/test/utils/index.ts | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 editors/code/src/test/utils/index.ts (limited to 'editors/code/src/test/utils') diff --git a/editors/code/src/test/utils/index.ts b/editors/code/src/test/utils/index.ts new file mode 100644 index 000000000..16715a286 --- /dev/null +++ b/editors/code/src/test/utils/index.ts @@ -0,0 +1,49 @@ +// +// PLEASE DO NOT MODIFY / DELETE UNLESS YOU KNOW WHAT YOU ARE DOING +// +// This file is providing the test runner to use when running extension tests. +// By default the test runner in use is Mocha based. +// +// You can provide your own test runner if you want to override it by exporting +// a function run(testRoot: string, clb: (error:Error) => void) that the extension +// host can call to run the tests. The test runner is expected to use console.log +// to report the results back to the caller. When the tests are finished, return +// a possible error to the callback or null if none. + +import * as glob from 'glob'; +import * as Mocha from 'mocha'; +import * as path from 'path'; + +export function run(): Promise { + // Create the mocha test + const mocha = new Mocha({ + ui: 'bdd' + }); + mocha.useColors(true); + + const testsRoot = __dirname; + + return new Promise((c, e) => { + glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { + if (err) { + return e(err); + } + + // Add files to the test suite + files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); + + try { + // Run the mocha test + mocha.run(failures => { + if (failures > 0) { + e(new Error(`${failures} tests failed.`)); + } else { + c(); + } + }); + } catch (err) { + e(err); + } + }); + }); +} -- cgit v1.2.3