Format results via toString, add test to verify.

This commit is contained in:
David Anson 2015-03-13 09:13:07 -07:00
parent f6d0986cc5
commit d3e9f83e7c
3 changed files with 64 additions and 2 deletions

View file

@ -5,6 +5,30 @@ var md = require("markdown-it")();
var rules = require("./rules");
var shared = require("./shared");
var ruleToDescription = {};
rules.forEach(function forRule(rule) {
ruleToDescription[rule.name] = rule.desc;
});
function Results() { }
Results.prototype.toString = function resultsToString() {
var self = this;
var results = [];
Object.keys(self).forEach(function forFile(file) {
var fileResults = self[file];
Object.keys(fileResults).forEach(function forRule(rule) {
var ruleResults = fileResults[rule];
ruleResults.forEach(function forLine(lineNumber) {
var result =
file + ": " + lineNumber + ": " +
rule + " " + ruleToDescription[rule];
results.push(result);
});
});
});
return results.join("\n");
};
function numberComparison(a, b) {
return a - b;
}
@ -55,7 +79,7 @@ module.exports = function markdownlint(options, callback) {
callback = callback || function noop() {};
var files = options.files || [];
var config = options.config || { "default": true };
var results = {};
var results = new Results();
function lintFiles() {
var file = files.shift();
if (file) {