Use the prefix id for keying into metrics rules

Fixes a bug where we were looking for incorrect keys for metrics rules.
Previously, we were using full language names in the keys. Now, we use
the short language names in the metric ids. This is done through a
simplification of the code.

Also, this change does two smaller things:

1. Prints out the baseline count to the logs
2. Adds the `assertNever` function to ensure we never miss a case in
   a switch statement. This function is borrowed from vscode-codeql.
This commit is contained in:
Andrew Eisenberg 2021-05-13 17:56:27 +00:00
parent 4c0671c518
commit e8b2a9884b
15 changed files with 168 additions and 116 deletions

10
lib/count-loc.test.js generated
View file

@ -21,14 +21,14 @@ ava_1.default("ensure lines of code works for cpp and js", async (t) => {
const results = await count_loc_1.countLoc(path.join(__dirname, "../tests/multi-language-repo"), [], [], [languages_1.Language.cpp, languages_1.Language.javascript], logging_1.getRunnerLogger(true));
t.deepEqual(results, {
cpp: 6,
js: 3,
javascript: 3,
});
});
ava_1.default("ensure lines of code can handle undefined language", async (t) => {
const results = await count_loc_1.countLoc(path.join(__dirname, "../tests/multi-language-repo"), [], [], [languages_1.Language.javascript, languages_1.Language.python, "hucairz"], logging_1.getRunnerLogger(true));
t.deepEqual(results, {
js: 3,
py: 5,
javascript: 3,
python: 5,
});
});
ava_1.default("ensure lines of code can handle empty languages", async (t) => {
@ -40,13 +40,13 @@ ava_1.default("ensure lines of code can handle includes", async (t) => {
// directories outside the normal structure.
const results = await count_loc_1.countLoc(path.join(__dirname, "../tests/multi-language-repo"), ["../../src/testdata"], [], [languages_1.Language.javascript], logging_1.getRunnerLogger(true));
t.deepEqual(results, {
js: 15,
javascript: 15,
});
});
ava_1.default("ensure lines of code can handle exclude", async (t) => {
const results = await count_loc_1.countLoc(path.join(__dirname, "../tests/multi-language-repo"), [], ["**/*.py"], [languages_1.Language.javascript, languages_1.Language.python], logging_1.getRunnerLogger(true));
t.deepEqual(results, {
js: 3,
javascript: 3,
});
});
//# sourceMappingURL=count-loc.test.js.map