From 271abb7bc43f11c9b9e9c1353b162d9d267b1d21 Mon Sep 17 00:00:00 2001 From: vsrs Date: Thu, 2 Jul 2020 21:33:26 +0300 Subject: Add tests --- editors/code/tests/unit/runnable_env.test.ts | 118 +++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 editors/code/tests/unit/runnable_env.test.ts (limited to 'editors/code/tests') diff --git a/editors/code/tests/unit/runnable_env.test.ts b/editors/code/tests/unit/runnable_env.test.ts new file mode 100644 index 000000000..979d497dd --- /dev/null +++ b/editors/code/tests/unit/runnable_env.test.ts @@ -0,0 +1,118 @@ +import * as assert from 'assert'; +import { prepareEnv } from '../../src/run'; +import { RunnableEnvCfg } from '../../src/config'; +import * as ra from '../../src/lsp_ext'; + +function make_runnable(label: string): ra.Runnable { + return { + label, + kind: "cargo", + args: { + cargoArgs: [], + executableArgs: [] + } + } +} + +function fakePrepareEnv(runnable_name: string, config: RunnableEnvCfg) : Record { + const runnable = make_runnable(runnable_name); + return prepareEnv(runnable, config); +} + +suite('Runnable env', () => { + test('Global config works', () => { + const bin_env = fakePrepareEnv("run project_name", {"GLOBAL": "g"}); + assert.equal(bin_env["GLOBAL"], "g"); + + const test_env = fakePrepareEnv("test some::mod::test_name", {"GLOBAL": "g"}); + assert.equal(test_env["GLOBAL"], "g"); + }); + + test('null mask works', () => { + const config = [ + { + env: { DATA: "data" } + } + ]; + const bin_env = fakePrepareEnv("run project_name", config); + assert.equal(bin_env["DATA"], "data"); + + const test_env = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(test_env["DATA"], "data"); + }); + + test('order works', () => { + const config = [ + { + env: { DATA: "data" } + }, + { + env: { DATA: "newdata" } + } + ]; + const bin_env = fakePrepareEnv("run project_name", config); + assert.equal(bin_env["DATA"], "newdata"); + + const test_env = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(test_env["DATA"], "newdata"); + }); + + test('mask works', () => { + const config = [ + { + env: { DATA: "data" } + }, + { + mask: "^run", + env: { DATA: "rundata" } + }, + { + mask: "special_test$", + env: { DATA: "special_test" } + } + ]; + const bin_env = fakePrepareEnv("run project_name", config); + assert.equal(bin_env["DATA"], "rundata"); + + const test_env = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(test_env["DATA"], "data"); + + const special_test_env = fakePrepareEnv("test some::mod::special_test", config); + assert.equal(special_test_env["DATA"], "special_test"); + }); + + test('exact test name works', () => { + const config = [ + { + env: { DATA: "data" } + }, + { + mask: "some::mod::test_name", + env: { DATA: "test special" } + } + ]; + const test_env = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(test_env["DATA"], "test special"); + + const special_test_env = fakePrepareEnv("test some::mod::another_test", config); + assert.equal(special_test_env["DATA"], "data"); + }); + + test('test mod name works', () => { + const config = [ + { + env: { DATA: "data" } + }, + { + mask: "some::mod", + env: { DATA: "mod special" } + } + ]; + const test_env = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(test_env["DATA"], "mod special"); + + const special_test_env = fakePrepareEnv("test some::mod::another_test", config); + assert.equal(special_test_env["DATA"], "mod special"); + }); + +}); -- cgit v1.2.3 From 611fad275fb7f3c2ec018b5539444b6649285228 Mon Sep 17 00:00:00 2001 From: vsrs Date: Thu, 2 Jul 2020 22:08:33 +0300 Subject: code linting --- editors/code/tests/unit/runnable_env.test.ts | 60 ++++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'editors/code/tests') diff --git a/editors/code/tests/unit/runnable_env.test.ts b/editors/code/tests/unit/runnable_env.test.ts index 979d497dd..f2f53e91a 100644 --- a/editors/code/tests/unit/runnable_env.test.ts +++ b/editors/code/tests/unit/runnable_env.test.ts @@ -3,7 +3,7 @@ import { prepareEnv } from '../../src/run'; import { RunnableEnvCfg } from '../../src/config'; import * as ra from '../../src/lsp_ext'; -function make_runnable(label: string): ra.Runnable { +function makeRunnable(label: string): ra.Runnable { return { label, kind: "cargo", @@ -11,21 +11,21 @@ function make_runnable(label: string): ra.Runnable { cargoArgs: [], executableArgs: [] } - } + }; } -function fakePrepareEnv(runnable_name: string, config: RunnableEnvCfg) : Record { - const runnable = make_runnable(runnable_name); +function fakePrepareEnv(runnableName: string, config: RunnableEnvCfg): Record { + const runnable = makeRunnable(runnableName); return prepareEnv(runnable, config); } suite('Runnable env', () => { test('Global config works', () => { - const bin_env = fakePrepareEnv("run project_name", {"GLOBAL": "g"}); - assert.equal(bin_env["GLOBAL"], "g"); + const binEnv = fakePrepareEnv("run project_name", { "GLOBAL": "g" }); + assert.equal(binEnv["GLOBAL"], "g"); - const test_env = fakePrepareEnv("test some::mod::test_name", {"GLOBAL": "g"}); - assert.equal(test_env["GLOBAL"], "g"); + const testEnv = fakePrepareEnv("test some::mod::test_name", { "GLOBAL": "g" }); + assert.equal(testEnv["GLOBAL"], "g"); }); test('null mask works', () => { @@ -34,11 +34,11 @@ suite('Runnable env', () => { env: { DATA: "data" } } ]; - const bin_env = fakePrepareEnv("run project_name", config); - assert.equal(bin_env["DATA"], "data"); + const binEnv = fakePrepareEnv("run project_name", config); + assert.equal(binEnv["DATA"], "data"); - const test_env = fakePrepareEnv("test some::mod::test_name", config); - assert.equal(test_env["DATA"], "data"); + const testEnv = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(testEnv["DATA"], "data"); }); test('order works', () => { @@ -50,11 +50,11 @@ suite('Runnable env', () => { env: { DATA: "newdata" } } ]; - const bin_env = fakePrepareEnv("run project_name", config); - assert.equal(bin_env["DATA"], "newdata"); + const binEnv = fakePrepareEnv("run project_name", config); + assert.equal(binEnv["DATA"], "newdata"); - const test_env = fakePrepareEnv("test some::mod::test_name", config); - assert.equal(test_env["DATA"], "newdata"); + const testEnv = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(testEnv["DATA"], "newdata"); }); test('mask works', () => { @@ -71,14 +71,14 @@ suite('Runnable env', () => { env: { DATA: "special_test" } } ]; - const bin_env = fakePrepareEnv("run project_name", config); - assert.equal(bin_env["DATA"], "rundata"); + const binEnv = fakePrepareEnv("run project_name", config); + assert.equal(binEnv["DATA"], "rundata"); - const test_env = fakePrepareEnv("test some::mod::test_name", config); - assert.equal(test_env["DATA"], "data"); + const testEnv = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(testEnv["DATA"], "data"); - const special_test_env = fakePrepareEnv("test some::mod::special_test", config); - assert.equal(special_test_env["DATA"], "special_test"); + const specialTestEnv = fakePrepareEnv("test some::mod::special_test", config); + assert.equal(specialTestEnv["DATA"], "special_test"); }); test('exact test name works', () => { @@ -91,11 +91,11 @@ suite('Runnable env', () => { env: { DATA: "test special" } } ]; - const test_env = fakePrepareEnv("test some::mod::test_name", config); - assert.equal(test_env["DATA"], "test special"); + const testEnv = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(testEnv["DATA"], "test special"); - const special_test_env = fakePrepareEnv("test some::mod::another_test", config); - assert.equal(special_test_env["DATA"], "data"); + const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config); + assert.equal(specialTestEnv["DATA"], "data"); }); test('test mod name works', () => { @@ -108,11 +108,11 @@ suite('Runnable env', () => { env: { DATA: "mod special" } } ]; - const test_env = fakePrepareEnv("test some::mod::test_name", config); - assert.equal(test_env["DATA"], "mod special"); + const testEnv = fakePrepareEnv("test some::mod::test_name", config); + assert.equal(testEnv["DATA"], "mod special"); - const special_test_env = fakePrepareEnv("test some::mod::another_test", config); - assert.equal(special_test_env["DATA"], "mod special"); + const specialTestEnv = fakePrepareEnv("test some::mod::another_test", config); + assert.equal(specialTestEnv["DATA"], "mod special"); }); }); -- cgit v1.2.3 From 9209a992c9fa8a9421466f8119aa121fee2223e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= Date: Mon, 6 Jul 2020 14:29:19 +0300 Subject: Disable ES module interop --- editors/code/tests/unit/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'editors/code/tests') diff --git a/editors/code/tests/unit/index.ts b/editors/code/tests/unit/index.ts index 5165720b4..b7d8d2144 100644 --- a/editors/code/tests/unit/index.ts +++ b/editors/code/tests/unit/index.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import Mocha from 'mocha'; -import glob from 'glob'; +import * as Mocha from 'mocha'; +import * as glob from 'glob'; export function run(): Promise { // Create the mocha test -- cgit v1.2.3