Skip to content

Commit c361ef6

Browse files
OmgImAlexisbrettz9
authored andcommitted
fix(check-param-names): failure to handle default params with spacing; closes #377
1 parent 67df3dd commit c361ef6

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1515,6 +1515,14 @@ function quux (foo) {
15151515
}
15161516
// Settings: {"jsdoc":{"tagNamePreference":{"param":false}}}
15171517
// Message: Unexpected tag `@param`
1518+
1519+
/**
1520+
* @param {Error} error Exit code
1521+
* @param {number} [code = 1] Exit code
1522+
*/
1523+
function quux (error, cde = 1) {
1524+
};
1525+
// Message: Expected @param names to be "error, cde". Got "error, code".
15181526
````
15191527

15201528
The following patterns are not considered problems:
@@ -1603,6 +1611,13 @@ export class SomeClass {
16031611
*/
16041612
constructor(private property: string) {}
16051613
}
1614+
1615+
/**
1616+
* @param {Error} error Exit code
1617+
* @param {number} [code = 1] Exit code
1618+
*/
1619+
function quux (error, code = 1) {
1620+
};
16061621
````
16071622

16081623

src/rules/checkParamNames.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ const validateParameterNames = (targetTagName : string, functionParameterNames :
4040
return false;
4141
}
4242

43-
if (functionParameterName !== tag.name) {
43+
if (functionParameterName !== tag.name.trim()) {
4444
const expectedNames = functionParameterNames.join(', ');
4545
const actualNames = paramTags.map(([, {name}]) => {
46-
return name;
46+
return name.trim();
4747
}).join(', ');
4848

4949
report(

test/rules/assertions/checkParamNames.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,22 @@ export default {
231231
},
232232
},
233233
},
234+
{
235+
code: `
236+
/**
237+
* @param {Error} error Exit code
238+
* @param {number} [code = 1] Exit code
239+
*/
240+
function quux (error, cde = 1) {
241+
};
242+
`,
243+
errors: [
244+
{
245+
line: 4,
246+
message: 'Expected @param names to be "error, cde". Got "error, code".',
247+
},
248+
],
249+
},
234250
],
235251
valid: [
236252
{
@@ -354,5 +370,15 @@ export default {
354370
sourceType: 'module',
355371
},
356372
},
373+
{
374+
code: `
375+
/**
376+
* @param {Error} error Exit code
377+
* @param {number} [code = 1] Exit code
378+
*/
379+
function quux (error, code = 1) {
380+
};
381+
`,
382+
},
357383
],
358384
};

0 commit comments

Comments
 (0)