Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 1x 1x 1x 4x 2x 2x 2x 2x 2x 2x 2x 2x 3x 1x 2x 1x 1x 1x 1x 1x | import * as _glob from "glob"; import * as _path from "path"; import * as _fs from "fs-extra"; export const globTestIds = ({ fs = _fs, glob = _glob, path = _path }) => ({ idsLocation, output, cwd }: { idsLocation: string; output: string; cwd: string; }): void => { const allIds = glob .sync(path.join(cwd, idsLocation)) .map(filename => ({ filename, file: fs.readFileSync(filename, "utf8") })) .map(({ filename, file }) => ({ filename, file: JSON.parse(file) as string[] })) .reduce((ids, { filename, file }) => { file.forEach(testId => { if (testId in ids) { throw new Error( `Duplicate test id ${testId} in ${filename}` ); } ids[testId] = testId; }); return ids; }, {} as Record<string, string>); fs.mkdirpSync(path.dirname(output)); const outFile = path.join(cwd, output); fs.writeFileSync(outFile, JSON.stringify(allIds, null, 2)); console.log(`${Object.keys(allIds).length} test ids written to ${outFile}`); }; |