Files
Jack Franklin fd72c071cc Enforce alignment of JSDoc comments
This CL adds the eslint-plugin-jsdoc plugin and enables just one rule,
`jsdoc/check-alignment`, which ensures that all the lines in a comment
are correctly aligned. For example:

```
/**
* foo
 * bar
*/
```

Would fail the check and be corrected to:

```
/**
 * foo
 * bar
 */
```

DISABLE_THIRD_PARTY_CHECK=deliberate install + use of
eslint-plugin-jsdoc node_module

Bug: none
Change-Id: I969983cd550653654a334ede3409b8c850467245
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4110906
Commit-Queue: Andres Olivares <andoli@chromium.org>
Reviewed-by: Andres Olivares <andoli@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2022-12-21 12:30:47 +00:00

106 lines
2.3 KiB
JavaScript

const { parse, inspect } = require('../../lib/index.cjs');
test('name cut off', () => {
const source = `
/**
* @param {{includeWhiteSpace: (boolean|undefined),
* ignoreElementOrder: (boolean|undefined)}} [options] The options.
*/`.slice(1);
const tagSource = [
{
number: 1,
source: ' * @param {{includeWhiteSpace: (boolean|undefined),',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@param',
postTag: ' ',
type: '{{includeWhiteSpace: (boolean|undefined),',
postType: '',
name: '',
postName: '',
description: '',
end: '',
lineEnd: '',
},
},
{
number: 2,
source:
' * ignoreElementOrder: (boolean|undefined)}} [options] The options.',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '',
postTag: '',
type: ' ignoreElementOrder: (boolean|undefined)}}',
postType: ' ',
name: '[options]',
postName: ' ',
description: 'The options.',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
type: '',
postType: '',
name: '',
postName: '',
description: '',
end: '*/',
lineEnd: '',
},
},
];
const parsed = parse(source);
// console.log(inspect(parsed[0]));
expect(parsed[0]).toMatchObject({
problems: [],
tags: [
{
tag: 'param',
type: '{includeWhiteSpace: (boolean|undefined),ignoreElementOrder: (boolean|undefined)}',
name: 'options',
optional: true,
description: 'The options.',
source: tagSource,
},
],
source: [
{
number: 0,
source: ' /**',
tokens: {
start: ' ',
delimiter: '/**',
postDelimiter: '',
tag: '',
postTag: '',
type: '',
postType: '',
name: '',
postName: '',
description: '',
end: '',
lineEnd: '',
},
},
...tagSource,
],
});
});