mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-17 06:20:12 +01:00
Add simple in-process test reporter for tape output.
This commit is contained in:
parent
3c100a21ff
commit
6d9cbfe7be
3 changed files with 49 additions and 0 deletions
|
|
@ -6,6 +6,7 @@ const fs = require("fs");
|
|||
const path = require("path");
|
||||
const glob = require("glob");
|
||||
const tape = require("tape");
|
||||
require("./tape-reporter");
|
||||
const markdownlint = require("../lib/markdownlint");
|
||||
const { utf8Encoding } = require("../helpers");
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ const pluginKatex = require("markdown-it-katex");
|
|||
const pluginSub = require("markdown-it-sub");
|
||||
const pluginSup = require("markdown-it-sup");
|
||||
const tape = require("tape");
|
||||
require("./tape-reporter");
|
||||
const tv4 = require("tv4");
|
||||
const packageJson = require("../package.json");
|
||||
const markdownlint = require("../lib/markdownlint");
|
||||
|
|
|
|||
47
test/tape-reporter.js
Normal file
47
test/tape-reporter.js
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// @ts-check
|
||||
|
||||
"use strict";
|
||||
|
||||
const tape = require("tape");
|
||||
const { EOL } = require("os");
|
||||
const { inspect } = require("util");
|
||||
const { stdout, stderr } = process;
|
||||
const inspectOptions = {
|
||||
"compact": true,
|
||||
"breakLength": Infinity
|
||||
};
|
||||
|
||||
let tests = 0;
|
||||
let assertions = 0;
|
||||
let failures = 0;
|
||||
|
||||
tape
|
||||
.createStream({ "objectMode": true })
|
||||
.on("data", (data) => {
|
||||
if (data.type === "test") {
|
||||
tests++;
|
||||
stdout.write(`${data.name}${EOL}`);
|
||||
} else if (data.id !== undefined) {
|
||||
assertions++;
|
||||
if (!data.ok) {
|
||||
failures++;
|
||||
stderr.write([
|
||||
` ${data.file}`,
|
||||
` Message: ${data.name}`,
|
||||
` Operator: ${data.operator}`,
|
||||
` Expected: ${inspect(data.expected, inspectOptions)}`,
|
||||
` Actual: ${inspect(data.actual, inspectOptions)}`,
|
||||
""
|
||||
].join(EOL));
|
||||
}
|
||||
}
|
||||
})
|
||||
.on("close", () => {
|
||||
stdout.write([
|
||||
"",
|
||||
`Tests: ${tests}`,
|
||||
`Asserts: ${assertions}`,
|
||||
`Failures: ${failures}`,
|
||||
""
|
||||
].join(EOL));
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue