|
1 | 1 | // noinspection ES6UnusedImports |
2 | 2 | import * as path from "node:path"; |
| 3 | +import { describe, before, test } from "node:test"; |
3 | 4 | import { createTsProgram, EmittedFiles, getEmitResultFromProgram } from "../../utils"; |
4 | 5 | import { ts, tsModules, projectsPaths } from "../../config"; |
5 | 6 |
|
@@ -30,33 +31,36 @@ describe(`Transformer -> General Tests`, () => { |
30 | 31 | const projectRoot = path.join(projectsPaths, "general"); |
31 | 32 | const tsConfigFile = path.join(projectRoot, "tsconfig.json"); |
32 | 33 |
|
33 | | - describe.each(tsModules)(`TypeScript %s`, (s, tsInstance) => { |
34 | | - let originalFiles: EmittedFiles = {}; |
35 | | - let transformedFiles: EmittedFiles = {}; |
| 34 | + for (const [s, tsInstance] of tsModules) |
| 35 | + describe(`TypeScript ${s}`, () => { |
| 36 | + let originalFiles: EmittedFiles = {}; |
| 37 | + let transformedFiles: EmittedFiles = {}; |
36 | 38 |
|
37 | | - const program = createTsProgram({ tsInstance: tsInstance as typeof ts, tsConfigFile, disablePlugin: true }); |
38 | | - const programWithTransformer = createTsProgram({ tsInstance: tsInstance as typeof ts, tsConfigFile }); |
39 | | - const fileNames = program.getRootFileNames() as string[]; |
| 39 | + const program = createTsProgram({ tsInstance: tsInstance as typeof ts, tsConfigFile, disablePlugin: true }); |
| 40 | + const programWithTransformer = createTsProgram({ tsInstance: tsInstance as typeof ts, tsConfigFile }); |
| 41 | + const fileNames = program.getRootFileNames() as string[]; |
40 | 42 |
|
41 | | - beforeAll(() => { |
42 | | - originalFiles = getEmitResultFromProgram(program); |
43 | | - transformedFiles = getEmitResultFromProgram(programWithTransformer); |
44 | | - }); |
| 43 | + before(() => { |
| 44 | + originalFiles = getEmitResultFromProgram(program); |
| 45 | + transformedFiles = getEmitResultFromProgram(programWithTransformer); |
| 46 | + }); |
45 | 47 |
|
46 | | - describe.each(fileNames!.map((p) => [p.slice(projectRoot.length), p]))(`%s`, (_, file) => { |
47 | | - let expected: EmittedFiles[string]; |
48 | | - let transformed: EmittedFiles[string]; |
| 48 | + for (const file of fileNames!) { |
| 49 | + describe(file, () => { |
| 50 | + let expected: EmittedFiles[string]; |
| 51 | + let transformed: EmittedFiles[string]; |
49 | 52 |
|
50 | | - beforeAll(() => { |
51 | | - transformed = transformedFiles[file]; |
52 | | - expected = { |
53 | | - js: getExpected(tsInstance, file, originalFiles[file].js, projectRoot), |
54 | | - dts: getExpected(tsInstance, file, originalFiles[file].dts, projectRoot), |
55 | | - }; |
56 | | - }); |
| 53 | + before(() => { |
| 54 | + transformed = transformedFiles[file]; |
| 55 | + expected = { |
| 56 | + js: getExpected(tsInstance, file, originalFiles[file].js, projectRoot), |
| 57 | + dts: getExpected(tsInstance, file, originalFiles[file].dts, projectRoot), |
| 58 | + }; |
| 59 | + }); |
57 | 60 |
|
58 | | - test(`js matches`, () => expect(transformed.js).toEqual(expected.js)); |
59 | | - test(`dts matches`, () => expect(transformed.dts).toEqual(expected.dts)); |
| 61 | + test(`js matches`, (t) => t.assert.strictEqual(transformed.js, expected.js)); |
| 62 | + test(`dts matches`, (t) => t.assert.strictEqual(transformed.dts, expected.dts)); |
| 63 | + }); |
| 64 | + } |
60 | 65 | }); |
61 | | - }); |
62 | 66 | }); |
0 commit comments