Add tests for style files, sort expected test output for debugging.

This commit is contained in:
David Anson 2015-03-17 18:02:05 -07:00
parent 139e474a12
commit 6ef5794927
2 changed files with 135 additions and 1 deletions

View file

@ -0,0 +1,51 @@
## Header 1 {MD002}
#### Header 2 {MD001}
# Header 3 {MD003} #
* list
+ list {MD004} {MD006} {MD007} {MD030}
* list
* list {MD007}
* list {MD005}
{MD009} {MD010}
(name)[link] {MD011}
{MD012:18}
long line long line long line long line long line long line long line long line long line {MD013}
$ dollar {MD014}
#Header 4 {MD018}
# Header 5 {MD019}
#Header 6 {MD020} #
# Header 7 {MD021} {MD022} {MD023} {MD003} #
# Header 8
# Header 8
{MD024:34}
Note: Can not break MD025 and MD002 in the same file
# Header 9 {MD026}.
> {MD027}
> {MD028:43}
1. list
2. list {MD029}
```
``` {MD031}
* list {MD032}

View file

@ -44,7 +44,11 @@ function createTestForFile(file) {
results[rule] = errors;
}
});
return results;
var sortedResults = {};
Object.keys(results).sort().forEach(function forKey(key) {
sortedResults[key] = results[key];
});
return sortedResults;
});
Q.all([ actualPromise, expectedPromise ])
.then(
@ -276,6 +280,85 @@ module.exports.enableTag = function enableTag(test) {
});
};
module.exports.styleAll = function styleAll(test) {
test.expect(2);
var options = {
"files": [ "./test/break-all-the-rules.md" ],
"config": require("../style/all.json")
};
markdownlint(options, function callback(err, actualResult) {
test.ifError(err);
var expectedResult = {
"./test/break-all-the-rules.md": {
"MD001": [ 3 ],
"MD002": [ 1 ],
"MD003": [ 5, 30 ],
"MD004": [ 8 ],
"MD005": [ 12 ],
"MD006": [ 8 ],
"MD007": [ 8, 11 ],
"MD009": [ 14 ],
"MD010": [ 14 ],
"MD011": [ 16 ],
"MD012": [ 18 ],
"MD013": [ 21 ],
"MD014": [ 23 ],
"MD018": [ 25 ],
"MD019": [ 27 ],
"MD020": [ 29 ],
"MD021": [ 30 ],
"MD022": [ 30 ],
"MD023": [ 30 ],
"MD024": [ 34 ],
"MD026": [ 40 ],
"MD027": [ 42 ],
"MD028": [ 43 ],
"MD029": [ 47 ],
"MD030": [ 8 ],
"MD031": [ 50 ],
"MD032": [ 51 ]
}
};
test.deepEqual(actualResult, expectedResult, "Undetected issues.");
test.done();
});
};
module.exports.styleRelaxed = function styleRelaxed(test) {
test.expect(2);
var options = {
"files": [ "./test/break-all-the-rules.md" ],
"config": require("../style/relaxed.json")
};
markdownlint(options, function callback(err, actualResult) {
test.ifError(err);
var expectedResult = {
"./test/break-all-the-rules.md": {
"MD001": [ 3 ],
"MD002": [ 1 ],
"MD003": [ 5, 30 ],
"MD004": [ 8 ],
"MD005": [ 12 ],
"MD011": [ 16 ],
"MD014": [ 23 ],
"MD018": [ 25 ],
"MD019": [ 27 ],
"MD020": [ 29 ],
"MD021": [ 30 ],
"MD022": [ 30 ],
"MD023": [ 30 ],
"MD024": [ 34 ],
"MD026": [ 40 ],
"MD029": [ 47 ],
"MD031": [ 50 ],
"MD032": [ 51 ]
}
};
test.deepEqual(actualResult, expectedResult, "Undetected issues.");
test.done();
});
};
module.exports.filesNotModified = function filesNotModified(test) {
test.expect(2);
var files = [