Skip to content

Commit 646ddce

Browse files
committed
chore: reorganize tests such that they don't run multiple times
1 parent 9ce3a70 commit 646ddce

File tree

3 files changed

+73
-66
lines changed

3 files changed

+73
-66
lines changed

test/parseExpressionAt.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, it, expect } from 'vitest';
2-
import { generateSource, Parser } from './run.test';
2+
import { generateSource, Parser } from './utils';
33

44
function parseExpressionAt(input: string, pos: number) {
55
return Parser.parseExpressionAt(input, pos, {

test/run.test.ts

Lines changed: 7 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,14 @@
1-
import { assert } from 'vitest';
2-
import * as acorn from 'acorn';
3-
import { tsPlugin } from '../src';
41
import * as fs from 'fs';
52
import * as path from 'path';
63
import { describe } from 'vitest';
74
import { it } from 'vitest';
8-
9-
export const Parser = acorn.Parser.extend(tsPlugin() as any);
10-
11-
export const DtsParser = acorn.Parser.extend(
12-
tsPlugin({
13-
dts: true
14-
}) as any
15-
);
16-
17-
export const JsxParser = acorn.Parser.extend(
18-
tsPlugin({
19-
jsx: true
20-
}) as any
21-
);
22-
23-
export function equalNode(node, snapshot) {
24-
assert.deepEqual(JSON.parse(JSON.stringify(node)), snapshot, 'should be' + JSON.stringify(node));
25-
}
26-
27-
export function parseDtsSource(input: string) {
28-
return DtsParser.parse(input, {
29-
sourceType: 'module',
30-
ecmaVersion: 'latest',
31-
locations: true
32-
});
33-
}
34-
35-
export function parseJsxSource(input: string) {
36-
return JsxParser.parse(input, {
37-
sourceType: 'module',
38-
ecmaVersion: 'latest',
39-
locations: true
40-
});
41-
}
42-
43-
export function parseSource(input: string) {
44-
return Parser.parse(input, {
45-
sourceType: 'module',
46-
ecmaVersion: 'latest',
47-
locations: true
48-
});
49-
}
50-
51-
export function parseSourceShouldThrowError(input: string, message?: string) {
52-
try {
53-
Parser.parse(input, {
54-
sourceType: 'module',
55-
ecmaVersion: 'latest',
56-
locations: true
57-
});
58-
59-
assert.fail('should throw an error');
60-
} catch (e) {
61-
if (message) {
62-
assert.equal(e.message, message);
63-
}
64-
}
65-
}
66-
67-
export function generateSource(input: string[]): string {
68-
return input.join('\n');
69-
}
5+
import {
6+
equalNode,
7+
parseDtsSource,
8+
parseJsxSource,
9+
parseSource,
10+
parseSourceShouldThrowError
11+
} from './utils';
7012

7113
describe('tests', () => {
7214
fs.readdirSync(__dirname, { withFileTypes: true })

test/utils.ts

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { assert } from 'vitest';
2+
import * as acorn from 'acorn';
3+
import { tsPlugin } from '../src';
4+
5+
export const Parser = acorn.Parser.extend(tsPlugin() as any);
6+
7+
export const DtsParser = acorn.Parser.extend(
8+
tsPlugin({
9+
dts: true
10+
}) as any
11+
);
12+
13+
export const JsxParser = acorn.Parser.extend(
14+
tsPlugin({
15+
jsx: true
16+
}) as any
17+
);
18+
19+
export function equalNode(node, snapshot) {
20+
assert.deepEqual(JSON.parse(JSON.stringify(node)), snapshot, 'should be' + JSON.stringify(node));
21+
}
22+
23+
export function parseDtsSource(input: string) {
24+
return DtsParser.parse(input, {
25+
sourceType: 'module',
26+
ecmaVersion: 'latest',
27+
locations: true
28+
});
29+
}
30+
31+
export function parseJsxSource(input: string) {
32+
return JsxParser.parse(input, {
33+
sourceType: 'module',
34+
ecmaVersion: 'latest',
35+
locations: true
36+
});
37+
}
38+
39+
export function parseSource(input: string) {
40+
return Parser.parse(input, {
41+
sourceType: 'module',
42+
ecmaVersion: 'latest',
43+
locations: true
44+
});
45+
}
46+
47+
export function parseSourceShouldThrowError(input: string, message?: string) {
48+
try {
49+
Parser.parse(input, {
50+
sourceType: 'module',
51+
ecmaVersion: 'latest',
52+
locations: true
53+
});
54+
55+
assert.fail('should throw an error');
56+
} catch (e) {
57+
if (message) {
58+
assert.equal(e.message, message);
59+
}
60+
}
61+
}
62+
63+
export function generateSource(input: string[]): string {
64+
return input.join('\n');
65+
}

0 commit comments

Comments
 (0)