From 1e23d035ce382d01051f974b253999d3f79c4eb9 Mon Sep 17 00:00:00 2001 From: David Anson Date: Fri, 15 Jan 2016 22:00:34 -0800 Subject: [PATCH] Handle non-Array inputs for options.files. --- lib/markdownlint.js | 7 ++++++- test/markdownlint-test.js | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/markdownlint.js b/lib/markdownlint.js index 1603625f..36444d56 100644 --- a/lib/markdownlint.js +++ b/lib/markdownlint.js @@ -230,7 +230,12 @@ function markdownlint(options, callback) { // Normalize inputs options = options || {}; callback = callback || function noop() {}; - var files = (options.files || []).slice(); + var files = []; + if (Array.isArray(options.files)) { + files = options.files.slice(); + } else if (options.files) { + files = [ String(options.files) ]; + } var strings = options.strings || {}; var frontMatter = (options.frontMatter === undefined) ? shared.frontMatterRe : options.frontMatter; diff --git a/test/markdownlint-test.js b/test/markdownlint-test.js index c70424bf..587eb840 100644 --- a/test/markdownlint-test.js +++ b/test/markdownlint-test.js @@ -643,6 +643,19 @@ module.exports.filesArrayNotModified = function filesArrayNotModified(test) { }); }; +module.exports.filesArrayAsString = function filesArrayAsString(test) { + test.expect(2); + markdownlint({ + "files": "README.md", + "config": { "MD013": false } + }, function callback(err, actual) { + test.ifError(err); + var expected = { "README.md": {} }; + test.deepEqual(actual, expected, "Unexpected issues."); + test.done(); + }); +}; + module.exports.missingOptions = function missingOptions(test) { test.expect(2); markdownlint(null, function callback(err, result) {