Skip to content

Commit d6fbafb

Browse files
add tests
1 parent 1943ed4 commit d6fbafb

6 files changed

Lines changed: 97 additions & 3 deletions

File tree

lib/config-utils.test.js

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/config-utils.test.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/languages.test.js

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/languages.test.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config-utils.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import sinon from 'sinon';
77
import * as api from './api-client';
88
import * as CodeQL from './codeql';
99
import * as configUtils from './config-utils';
10+
import { Language } from "./languages";
1011
import {setupTests} from './testing-utils';
1112
import * as util from './util';
1213

@@ -196,7 +197,7 @@ test("load non-empty input", async t => {
196197

197198
// And the config we expect it to parse to
198199
const expectedConfig: configUtils.Config = {
199-
languages: ['javascript'],
200+
languages: [Language.javascript],
200201
queries: {'javascript': ['/foo/a.ql', '/bar/b.ql']},
201202
pathsIgnore: ['a', 'b'],
202203
paths: ['c/d'],

src/languages.test.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import test from 'ava';
2+
3+
import {isScannedLanguage, isTracedLanguage, Language, parseLanguage} from './languages';
4+
import {setupTests} from './testing-utils';
5+
6+
setupTests(test);
7+
8+
test('parseLangauge', async t => {
9+
// Exact matches
10+
t.deepEqual(parseLanguage('csharp'), Language.csharp);
11+
t.deepEqual(parseLanguage('cpp'), Language.cpp);
12+
t.deepEqual(parseLanguage('go'), Language.go);
13+
t.deepEqual(parseLanguage('java'), Language.java);
14+
t.deepEqual(parseLanguage('javascript'), Language.javascript);
15+
t.deepEqual(parseLanguage('python'), Language.python);
16+
17+
// Aliases
18+
t.deepEqual(parseLanguage('c'), Language.cpp);
19+
t.deepEqual(parseLanguage('c++'), Language.cpp);
20+
t.deepEqual(parseLanguage('c#'), Language.csharp);
21+
t.deepEqual(parseLanguage('typescript'), Language.javascript);
22+
23+
// Not matches
24+
t.deepEqual(parseLanguage('foo'), undefined);
25+
t.deepEqual(parseLanguage(' '), undefined);
26+
t.deepEqual(parseLanguage(''), undefined);
27+
});
28+
29+
test('isTracedLanguage', async t => {
30+
t.true(isTracedLanguage(Language.cpp));
31+
t.true(isTracedLanguage(Language.java));
32+
t.true(isTracedLanguage(Language.csharp));
33+
34+
t.false(isTracedLanguage(Language.go));
35+
t.false(isTracedLanguage(Language.javascript));
36+
t.false(isTracedLanguage(Language.python));
37+
});
38+
39+
test('isScannedLanguage', async t => {
40+
t.false(isScannedLanguage(Language.cpp));
41+
t.false(isScannedLanguage(Language.java));
42+
t.false(isScannedLanguage(Language.csharp));
43+
44+
t.true(isScannedLanguage(Language.go));
45+
t.true(isScannedLanguage(Language.javascript));
46+
t.true(isScannedLanguage(Language.python));
47+
});

0 commit comments

Comments
 (0)