aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNeonXP <i@neonxp.dev>2023-08-06 01:23:45 +0300
committerNeonXP <i@neonxp.dev>2023-08-06 01:29:52 +0300
commite8563a5e6f431fb953ad738262b5150b8349582d (patch)
tree519f07c34a79d8f48ca5a2682e08ccb04f5d1b7c /test
parent7818c08dc67c6916956c50e93e01e0a04010898b (diff)
fix if err... code action
Diffstat (limited to 'test')
-rw-r--r--test/runTest.js23
-rw-r--r--test/suite/extension.test.js15
-rw-r--r--test/suite/index.js42
3 files changed, 80 insertions, 0 deletions
diff --git a/test/runTest.js b/test/runTest.js
new file mode 100644
index 0000000..570e697
--- /dev/null
+++ b/test/runTest.js
@@ -0,0 +1,23 @@
+const path = require('path');
+
+const { runTests } = require('@vscode/test-electron');
+
+async function main() {
+ try {
+ // The folder containing the Extension Manifest package.json
+ // Passed to `--extensionDevelopmentPath`
+ const extensionDevelopmentPath = path.resolve(__dirname, '../');
+
+ // The path to the extension test script
+ // Passed to --extensionTestsPath
+ const extensionTestsPath = path.resolve(__dirname, './suite/index');
+
+ // Download VS Code, unzip it and run the integration test
+ await runTests({ extensionDevelopmentPath, extensionTestsPath });
+ } catch (err) {
+ console.error('Failed to run tests', err);
+ process.exit(1);
+ }
+}
+
+main();
diff --git a/test/suite/extension.test.js b/test/suite/extension.test.js
new file mode 100644
index 0000000..69ead83
--- /dev/null
+++ b/test/suite/extension.test.js
@@ -0,0 +1,15 @@
+const assert = require('assert');
+
+// You can import and use all API from the 'vscode' module
+// as well as import your extension to test it
+const vscode = require('vscode');
+// const myExtension = require('../extension');
+
+suite('Extension Test Suite', () => {
+ vscode.window.showInformationMessage('Start all tests.');
+
+ test('Sample test', () => {
+ assert.strictEqual(-1, [1, 2, 3].indexOf(5));
+ assert.strictEqual(-1, [1, 2, 3].indexOf(0));
+ });
+});
diff --git a/test/suite/index.js b/test/suite/index.js
new file mode 100644
index 0000000..f216759
--- /dev/null
+++ b/test/suite/index.js
@@ -0,0 +1,42 @@
+const path = require('path');
+const Mocha = require('mocha');
+const glob = require('glob');
+
+function run() {
+ // Create the mocha test
+ const mocha = new Mocha({
+ ui: 'tdd',
+ color: true
+ });
+
+ const testsRoot = path.resolve(__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) {
+ console.error(err);
+ e(err);
+ }
+ });
+ });
+}
+
+module.exports = {
+ run
+};