Skip to content

Commit 99aceeb

Browse files
committed
fix col position
1 parent 86adde1 commit 99aceeb

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

lib/htmlhint.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ var HTMLHint = (function (undefined) {
5353
}
5454

5555
var parser = new HTMLParser();
56-
var reporter = new HTMLHint.Reporter(html.split(/\r?\n/), ruleset);
56+
var reporter = new HTMLHint.Reporter(html, ruleset);
5757

5858
var rules = HTMLHint.rules,
5959
rule;

src/reporter.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@
1010
};
1111

1212
Reporter.prototype = {
13-
_init: function(lines, ruleset){
13+
_init: function(html, ruleset){
1414
var self = this;
15-
self.lines = lines;
15+
self.html = html;
16+
self.lines = html.split(/\r?\n/);
17+
var match = html.match(/\r?\n/);
18+
self.brLen = match !== null ? match[0].length : 0;
1619
self.ruleset = ruleset;
1720
self.messages = [];
1821
},
@@ -32,13 +35,17 @@
3235
report: function(type, message, line, col, rule, raw){
3336
var self = this;
3437
var lines = self.lines;
38+
var brLen = self.brLen;
3539
var evidence, evidenceLen;
3640
for(var i=line-1, lineCount=lines.length;i<lineCount;i++){
3741
evidence = lines[i];
3842
evidenceLen = evidence.length;
3943
if(col > evidenceLen && line < lineCount){
4044
line ++;
4145
col -= evidenceLen;
46+
if(col !== 1){
47+
col -= brLen;
48+
}
4249
}
4350
else{
4451
break;

test/rules/attr-lowercase.spec.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ describe('Rules: '+ruldId, function(){
2222
expect(messages[0].line).to.be(1);
2323
expect(messages[0].col).to.be(3);
2424

25-
code = '<p id=""\r\n TEST="abc">';
25+
code = '<p id=""\r\n TEST1="abc" TEST2="abc">';
2626
messages = HTMLHint.verify(code, ruleOptions);
27-
expect(messages.length).to.be(1);
27+
expect(messages.length).to.be(2);
2828
expect(messages[0].rule.id).to.be(ruldId);
2929
expect(messages[0].line).to.be(2);
3030
expect(messages[0].col).to.be(1);
31+
expect(messages[1].rule.id).to.be(ruldId);
32+
expect(messages[1].line).to.be(2);
33+
expect(messages[1].col).to.be(13);
3134
});
3235

3336
it('Lowercase attr should not result in an error', function(){

0 commit comments

Comments
 (0)