marked/test/run-spec-tests.js
Tony Brix 014d4e61f6
fix: run spec tests with testutils (#3017)
BREAKING CHANGE: drop support for node v16
2023-11-10 22:49:27 -07:00

51 lines
1.2 KiB
JavaScript
Vendored

import { Marked } from '../lib/marked.esm.js';
import { getTests, runTests, outputCompletionTable } from '@markedjs/testutils';
import { resolve, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
function parse(markdown, options) {
const marked = new Marked(options);
return marked.parse(markdown);
}
const __dirname = dirname(fileURLToPath(import.meta.url));
const [commonMarkTests, gfmTests, newTests, originalTests, redosTests] =
await getTests([
resolve(__dirname, './specs/commonmark'),
resolve(__dirname, './specs/gfm'),
resolve(__dirname, './specs/new'),
resolve(__dirname, './specs/original'),
resolve(__dirname, './specs/redos')
]);
outputCompletionTable('CommonMark', commonMarkTests);
runTests({
tests: commonMarkTests,
parse,
defaultMarkedOptions: { gfm: false, pedantic: false }
});
outputCompletionTable('GFM', gfmTests);
runTests({
tests: gfmTests,
parse,
defaultMarkedOptions: { gfm: true, pedantic: false }
});
runTests({
tests: newTests,
parse
});
runTests({
tests: originalTests,
parse,
defaultMarkedOptions: { gfm: false, pedantic: true }
});
runTests({
tests: redosTests,
parse
});