markdownlint-rule-relative-.../test/basic.test.js

47 lines
1.4 KiB
JavaScript

const test = require('node:test')
const assert = require('node:assert/strict')
const { markdownlint } = require('markdownlint').promises
const relativeLinks = require('../src/index.js')
test('ensure the rule validate correctly', async () => {
const lintResults = await markdownlint({
files: ['test/fixtures/Valid.md', 'test/fixtures/Invalid.md'],
config: {
default: false,
'relative-links': true
},
customRules: [relativeLinks]
})
assert.equal(lintResults['test/fixtures/Valid.md'].length, 0)
assert.equal(lintResults['test/fixtures/Invalid.md'].length, 3)
assert.equal(
lintResults['test/fixtures/Invalid.md'][0]?.ruleDescription,
'Relative links should be valid'
)
assert.equal(
lintResults['test/fixtures/Invalid.md'][0]?.errorDetail,
'Link "./basic.test.js" should exist in the file system'
)
assert.equal(
lintResults['test/fixtures/Invalid.md'][1]?.ruleDescription,
'Relative links should be valid'
)
assert.equal(
lintResults['test/fixtures/Invalid.md'][1]?.errorDetail,
'Link "../image.png" should exist in the file system'
)
assert.equal(
lintResults['test/fixtures/Invalid.md'][2]?.ruleDescription,
'Relative links should be valid'
)
assert.equal(
lintResults['test/fixtures/Invalid.md'][2]?.errorDetail,
'Link "./Valid.md#not-existing-heading" should have a valid fragment'
)
})