markdownlint/test/markdownlint-test-extra.js

41 lines
1,002 B
JavaScript

// @ts-check
"use strict";
const fs = require("fs");
const path = require("path");
const globby = require("globby");
const test = require("ava").default;
const markdownlint = require("../lib/markdownlint");
// Simulates typing each test file to validate handling of partial input
const files = fs.readdirSync("./test");
files.filter((file) => /\.md$/.test(file)).forEach((file) => {
const strings = {};
let content = fs.readFileSync(path.join("./test", file), "utf8");
while (content) {
strings[content.length.toString()] = content;
content = content.slice(0, -1);
}
test(`type ${file}`, (t) => {
t.plan(1);
markdownlint.sync({
// @ts-ignore
strings,
"resultVersion": 0
});
t.pass();
});
});
// Parses all Markdown files in all package dependencies
test.cb("parseAllFiles", (t) => {
t.plan(1);
const options = {
"files": globby.sync("**/*.{md,markdown}")
};
markdownlint(options, (err) => {
t.falsy(err);
t.end();
});
});