From e34acc60c2867889ba4d16a2deecc2cbd03e351b Mon Sep 17 00:00:00 2001 From: Brandon Mills Date: Sun, 10 Sep 2017 22:20:05 -0400 Subject: [PATCH] Fix: Add unicode-bom to unsatisfiable rules (refs #75) (#84) --- lib/processor.js | 3 ++- tests/lib/processor.js | 29 ++++++++++++++++++++++------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/processor.js b/lib/processor.js index 3fdc8273..c3b8d4c3 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -11,7 +11,8 @@ var remarkParse = require("remark-parse"); var SUPPORTED_SYNTAXES = ["js", "javascript", "node", "jsx"]; var UNSATISFIABLE_RULES = [ - "eol-last" // The Markdown parser strips trailing newlines in code fences + "eol-last", // The Markdown parser strips trailing newlines in code fences + "unicode-bom" // Code blocks will begin in the middle of Markdown files ]; var markdown = unified().use(remarkParse); diff --git a/tests/lib/processor.js b/tests/lib/processor.js index e56dba43..cee8f41d 100644 --- a/tests/lib/processor.js +++ b/tests/lib/processor.js @@ -551,15 +551,30 @@ describe("processor", function() { assert.equal(result[4].column, 2); }); - it("should exclude eol-last messages", function() { - var result = processor.postprocess([ - [ - { line: 4, column: 3, message: "Newline required at end of file but not found.", ruleId: "eol-last" } - ] - ]); + describe("should exclude messages from unsatisfiable rules", function() { + + it("eol-last", function() { + var result = processor.postprocess([ + [ + { line: 4, column: 3, message: "Newline required at end of file but not found.", ruleId: "eol-last" } + ] + ]); + + assert.equal(result.length, 0); + }); + + it("unicode-bom", function() { + var result = processor.postprocess([ + [ + { line: 1, column: 1, message: "Expected Unicode BOM (Byte Order Mark).", ruleId: "unicode-bom" } + ] + ]); + + assert.equal(result.length, 0); + }); - assert.equal(result.length, 0); }); + }); });