Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
https://markdown-it.github.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
973 B
31 lines
973 B
import { fileURLToPath } from 'node:url'
|
|
import { relative } from 'node:path'
|
|
import { load } from 'markdown-it-testgen'
|
|
import markdownit from '../index.mjs'
|
|
import { assert } from 'chai'
|
|
|
|
function normalize (text) {
|
|
return text.replace(/<blockquote>\n<\/blockquote>/g, '<blockquote></blockquote>')
|
|
}
|
|
|
|
function generate (path, md) {
|
|
load(path, function (data) {
|
|
data.meta = data.meta || {}
|
|
|
|
const desc = data.meta.desc || relative(path, data.file);
|
|
|
|
(data.meta.skip ? describe.skip : describe)(desc, function () {
|
|
data.fixtures.forEach(function (fixture) {
|
|
it(fixture.header ? fixture.header : 'line ' + (fixture.first.range[0] - 1), function () {
|
|
assert.strictEqual(md.render(fixture.first.text), normalize(fixture.second.text))
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
describe('CommonMark', function () {
|
|
const md = markdownit('commonmark')
|
|
|
|
generate(fileURLToPath(new URL('fixtures/commonmark/good.txt', import.meta.url)), md)
|
|
})
|
|
|