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

363 lines
8.9 KiB
JavaScript

const { default: getParser } = require('../../lib/parser/index.cjs');
test('quoted name', () => {
const parsed = getParser()(`
/**
* @section "Brand Colors" - Here you can find all the brand colors...
*/`);
expect(parsed).toEqual([
{
description: '',
tags: [
{
tag: 'section',
name: 'Brand Colors',
type: '',
optional: false,
description: '- Here you can find all the brand colors...',
problems: [],
source: [
{
number: 2,
source:
' * @section "Brand Colors" - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '"Brand Colors"',
postName: ' ',
type: '',
postType: '',
description: '- Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
},
],
source: [
{
number: 1,
source: ' /**',
tokens: {
start: ' ',
delimiter: '/**',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '',
lineEnd: '',
},
},
{
number: 2,
source:
' * @section "Brand Colors" - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '"Brand Colors"',
postName: ' ',
type: '',
postType: '',
description: '- Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
problems: [],
},
]);
});
test('optional name', () => {
const parsed = getParser()(`
/**
* @section [Brand Colors] - Here you can find all the brand colors...
*/`);
expect(parsed).toEqual([
{
description: '',
tags: [
{
tag: 'section',
name: 'Brand Colors',
type: '',
optional: true,
description: '- Here you can find all the brand colors...',
problems: [],
source: [
{
number: 2,
source:
' * @section [Brand Colors] - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '[Brand Colors]',
postName: ' ',
type: '',
postType: '',
description: '- Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
},
],
source: [
{
number: 1,
source: ' /**',
tokens: {
start: ' ',
delimiter: '/**',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '',
lineEnd: '',
},
},
{
number: 2,
source:
' * @section [Brand Colors] - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '[Brand Colors]',
postName: ' ',
type: '',
postType: '',
description: '- Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
problems: [],
},
]);
});
test('inconsistent quotes', () => {
const parsed = getParser()(`
/**
* @section "Brand Colors - Here you can find all the brand colors...
*/`);
expect(parsed).toEqual([
{
description: '',
tags: [
{
tag: 'section',
name: '"Brand',
type: '',
optional: false,
description: 'Colors - Here you can find all the brand colors...',
problems: [],
source: [
{
number: 2,
source:
' * @section "Brand Colors - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '"Brand',
postName: ' ',
type: '',
postType: '',
description:
'Colors - Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
},
],
source: [
{
number: 1,
source: ' /**',
tokens: {
start: ' ',
delimiter: '/**',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '',
lineEnd: '',
},
},
{
number: 2,
source:
' * @section "Brand Colors - Here you can find all the brand colors...',
tokens: {
start: ' ',
delimiter: '*',
postDelimiter: ' ',
tag: '@section',
postTag: ' ',
name: '"Brand',
postName: ' ',
type: '',
postType: '',
description: 'Colors - Here you can find all the brand colors...',
end: '',
lineEnd: '',
},
},
{
number: 3,
source: ' */',
tokens: {
start: ' ',
delimiter: '',
postDelimiter: '',
tag: '',
postTag: '',
name: '',
postName: '',
type: '',
postType: '',
description: '',
end: '*/',
lineEnd: '',
},
},
],
problems: [],
},
]);
});