From cd90b0850aec25c294bc70c4467545cbfee5c5c9 Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Wed, 21 Apr 2021 16:44:20 +0500 Subject: [PATCH] fix(hasMacroParentheses): added additional test also --- src/rules/file/hasMacroParentheses.spec.ts | 17 ++++++++++++++++- src/rules/file/hasMacroParentheses.ts | 4 +++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/rules/file/hasMacroParentheses.spec.ts b/src/rules/file/hasMacroParentheses.spec.ts index f59b6ce..cc2d706 100644 --- a/src/rules/file/hasMacroParentheses.spec.ts +++ b/src/rules/file/hasMacroParentheses.spec.ts @@ -44,6 +44,21 @@ describe('hasMacroParentheses', () => { ]) }) + it('should return an array with a single diagnostic when macro defined without name ( single line code )', () => { + const content = ` + %macro (); %put &sysmacroname; %mend;` + + expect(hasMacroParentheses.test(content)).toEqual([ + { + message: 'Macro definition missing name', + lineNumber: 2, + startColumnNumber: 3, + endColumnNumber: 12, + severity: Severity.Warning + } + ]) + }) + it('should return an array with a single diagnostic when macro defined without name and parentheses', () => { const content = ` %macro ; @@ -55,7 +70,7 @@ describe('hasMacroParentheses', () => { message: 'Macro definition missing name', lineNumber: 2, startColumnNumber: 3, - endColumnNumber: 10, + endColumnNumber: 9, severity: Severity.Warning } ]) diff --git a/src/rules/file/hasMacroParentheses.ts b/src/rules/file/hasMacroParentheses.ts index f2eef10..a998a46 100644 --- a/src/rules/file/hasMacroParentheses.ts +++ b/src/rules/file/hasMacroParentheses.ts @@ -18,7 +18,9 @@ const test = (value: string, config?: LintConfig) => { message: 'Macro definition missing name', lineNumber: macro.startLineNumber!, startColumnNumber: getColumnNumber(macro.declaration, '%macro'), - endColumnNumber: macro.declaration.length, + endColumnNumber: + getColumnNumber(macro.declaration, '%macro') + + macro.declarationTrimmedStatement.length, severity: Severity.Warning }) } else if (!macro.declaration.includes('(')) {