From 104a93b218b18e052735029b330b5214db202167 Mon Sep 17 00:00:00 2001 From: BennyBPB Date: Sun, 18 Feb 2024 12:32:58 +0100 Subject: [PATCH 1/4] Add test checking for reporting correct line number, if no end tag --- test/rules/tag-pair.spec.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/rules/tag-pair.spec.js b/test/rules/tag-pair.spec.js index ffdd6a3a6..ca744df60 100644 --- a/test/rules/tag-pair.spec.js +++ b/test/rules/tag-pair.spec.js @@ -24,6 +24,17 @@ describe(`Rules: ${ruleId}`, () => { expect(messages[0].col).toBe(9) }) + it('No end tag should result in an error with correct line number and column of the start tag.', () => { + const code = '
\r\n

\r\n

aaa

\r\n

' + const messages = HTMLHint.verify(code, ruleOptions) + expect(messages.length).toBe(1) + expect(messages[0].rule.id).toBe(ruleId) + expect(messages[0].line).toBe(2) + expect(messages[0].line).not.toBe(4) + expect(messages[0].col).toBe(3) + expect(messages[0].col).not.toBe(1) + }) + it('No start tag should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) From 309a4da10be29ce8df337432a8c79317e1c01432 Mon Sep 17 00:00:00 2001 From: BennyBPB Date: Sun, 18 Feb 2024 12:47:59 +0100 Subject: [PATCH 2/4] Add test checking for reporting correct line number, if no end tag --- test/rules/tag-pair.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/rules/tag-pair.spec.js b/test/rules/tag-pair.spec.js index ca744df60..483ccae05 100644 --- a/test/rules/tag-pair.spec.js +++ b/test/rules/tag-pair.spec.js @@ -29,10 +29,10 @@ describe(`Rules: ${ruleId}`, () => { const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).toBe(1) expect(messages[0].rule.id).toBe(ruleId) - expect(messages[0].line).toBe(2) expect(messages[0].line).not.toBe(4) - expect(messages[0].col).toBe(3) expect(messages[0].col).not.toBe(1) + expect(messages[0].line).toBe(2) + expect(messages[0].col).toBe(3) }) it('No start tag should result in an error', () => { From 261d7f637635fc36de4c1143faff3e66ce0119eb Mon Sep 17 00:00:00 2001 From: BennyBPB Date: Sun, 18 Feb 2024 13:16:22 +0100 Subject: [PATCH 3/4] Add test checking for reporting correct line number, if no end tag --- test/rules/tag-pair.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/rules/tag-pair.spec.js b/test/rules/tag-pair.spec.js index 483ccae05..992ef2c81 100644 --- a/test/rules/tag-pair.spec.js +++ b/test/rules/tag-pair.spec.js @@ -24,7 +24,7 @@ describe(`Rules: ${ruleId}`, () => { expect(messages[0].col).toBe(9) }) - it('No end tag should result in an error with correct line number and column of the start tag.', () => { + it('No end tag should result in an error with correct line number and column of the start tag', () => { const code = '
\r\n

\r\n

aaa

\r\n

' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).toBe(1) From 5e30fad245d5e6fd707f11a974fa4ae9cb89026c Mon Sep 17 00:00:00 2001 From: BennyBPB Date: Sun, 18 Feb 2024 14:11:16 +0100 Subject: [PATCH 4/4] Report correct line and column numbers, if no end tag --- src/core/rules/tag-pair.ts | 5 +++-- test/rules/tag-pair.spec.js | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/core/rules/tag-pair.ts b/src/core/rules/tag-pair.ts index 7b20cfe80..7b5b199b9 100644 --- a/src/core/rules/tag-pair.ts +++ b/src/core/rules/tag-pair.ts @@ -16,6 +16,7 @@ export default { stack.push({ tagName: tagName, line: event.line, + col: event.col, raw: event.raw, }) } @@ -46,8 +47,8 @@ export default { )} ], start tag match failed [ ${lastEvent.raw} ] on line ${ lastEvent.line }.`, - event.line, - event.col, + lastEvent.line || event.line, + lastEvent.col || event.col, this, event.raw ) diff --git a/test/rules/tag-pair.spec.js b/test/rules/tag-pair.spec.js index 992ef2c81..45fd4d8ad 100644 --- a/test/rules/tag-pair.spec.js +++ b/test/rules/tag-pair.spec.js @@ -12,7 +12,7 @@ describe(`Rules: ${ruleId}`, () => { expect(messages.length).toBe(2) expect(messages[0].rule.id).toBe(ruleId) expect(messages[0].line).toBe(1) - expect(messages[0].col).toBe(9) + expect(messages[0].col).toBe(5) expect(messages[1].rule.id).toBe(ruleId) expect(messages[1].line).toBe(1) expect(messages[1].col).toBe(20)