-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathsingleTag.test.ts
More file actions
96 lines (88 loc) · 1.88 KB
/
singleTag.test.ts
File metadata and controls
96 lines (88 loc) · 1.88 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import * as prettier from "prettier";
import { AllOptions } from "../src/types";
function subject(code: string, options: Partial<AllOptions> = {}) {
return prettier.format(code, {
plugins: ["prettier-plugin-jsdoc"],
jsdocSpaces: 1,
parser: "babel",
...options,
} as AllOptions);
}
test("single tag", async () => {
const result = await subject(`
/**
* @param { string } param0 description
*/
function fun(param0){}
export const SubDomain = {
/**
* @returns {import('axios').AxiosResponse<import('../types').SubDomain>}
*/
async subDomain(subDomainAddress) {
},
};
`);
expect(result).toMatchSnapshot();
});
describe("Comment Line Strategy", () => {
test("keep single", async () => {
const result = await subject(
`
/** @type {import('eslint').Linter.Config} should be single line */
const config = {
// ...
};
`,
{
jsdocCommentLineStrategy: "keep",
},
);
expect(result).toMatchSnapshot();
});
test("keep multi", async () => {
const result1 = await subject(
`
/**
* @type {import('eslint').Linter.Config} should be multiline
*/
const config = {
// ...
};
`,
{
jsdocCommentLineStrategy: "keep",
},
);
expect(result1).toMatchSnapshot();
});
test("singleLine ", async () => {
const result2 = await subject(
`
/**
* @type {import('eslint').Linter.Config} should be single
*/
const config = {
// ...
};
`,
{
jsdocCommentLineStrategy: "singleLine",
},
);
expect(result2).toMatchSnapshot();
});
test("multiline ", async () => {
const result3 = await subject(
`
/** @type {import('eslint').Linter.Config} should be multiline */
const config = {
// ...
};
`,
{
jsdocCommentLineStrategy: "multiline",
},
);
expect(result3).toMatchSnapshot();
});
});