Skip to content

Commit e7e1fa9

Browse files
committed
Merge pull request #409 from epriestley/master
Add "rule" attribute to "lintxml" output format
2 parents fce3c82 + baeb536 commit e7e1fa9

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/formatters/lint-xml.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ CSSLint.addFormatter({
5959
if (message.rollup) {
6060
output.push("<issue severity=\"" + message.type + "\" reason=\"" + escapeSpecialCharacters(message.message) + "\" evidence=\"" + escapeSpecialCharacters(message.evidence) + "\"/>");
6161
} else {
62-
output.push("<issue line=\"" + message.line + "\" char=\"" + message.col + "\" severity=\"" + message.type + "\"" +
62+
var rule = '';
63+
if (message.rule && message.rule.id) {
64+
rule = 'rule=\"' + escapeSpecialCharacters(message.rule.id) + '\" ';
65+
}
66+
output.push("<issue " + rule + "line=\"" + message.line + "\" char=\"" + message.col + "\" severity=\"" + message.type + "\"" +
6367
" reason=\"" + escapeSpecialCharacters(message.message) + "\" evidence=\"" + escapeSpecialCharacters(message.evidence) + "\"/>");
6468
}
6569
});

tests/formatters/lint-xml.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,25 @@
3737
expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?><lint>" + file + error1 + error2 + "</file></lint>",
3838
actual = CSSLint.format(result, "FILE", "lint-xml");
3939
Assert.areEqual(expected, actual);
40+
},
41+
42+
"Messages should include rule IDs": function() {
43+
var result = { messages: [
44+
{ type: "error", line: 1, col: 1, message: "X", evidence: "Y", rule: { id: "Z" } }
45+
], stats: [] };
46+
47+
var expected =
48+
'<?xml version="1.0" encoding="utf-8"?>' +
49+
'<lint>' +
50+
'<file name="FILE">' +
51+
'<issue rule="Z" line="1" char="1" severity="error" reason="X" evidence="Y"/>' +
52+
'</file>' +
53+
'</lint>';
54+
55+
var actual = CSSLint.format(result, "FILE", "lint-xml");
56+
57+
Assert.areEqual(expected, actual);
4058
}
59+
4160
}));
4261
})();

0 commit comments

Comments
 (0)