51 lines
1.2 KiB
JavaScript
Vendored
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
|
|
});
|