Skip to content

Commit

Permalink
fix(tag-pair): point tag-pair error message to correct line and colum…
Browse files Browse the repository at this point in the history
…n number

fix htmlhint#1284
  • Loading branch information
bebehr committed Feb 20, 2025
1 parent 00d4d69 commit cca4b39
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
5 changes: 3 additions & 2 deletions src/core/rules/tag-pair.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export default {
stack.push({
tagName: tagName,
line: event.line,
col: event.col,
raw: event.raw,
})
}
Expand Down Expand Up @@ -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
)
Expand Down
13 changes: 12 additions & 1 deletion test/rules/tag-pair.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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 = '<div>\r\n <h1>\r\n <p>aaa</p>\r\n</div>'
const messages = HTMLHint.verify(code, ruleOptions)
expect(messages.length).toBe(1)
expect(messages[0].rule.id).toBe(ruleId)
expect(messages[0].line).not.toBe(4)
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', () => {
const code = '</div>'
const messages = HTMLHint.verify(code, ruleOptions)
Expand Down

0 comments on commit cca4b39

Please sign in to comment.