2023-06-24 09:58:45 +02:00
|
|
|
const test = require('node:test')
|
|
|
|
const assert = require('node:assert/strict')
|
|
|
|
|
2023-01-02 15:23:16 +01:00
|
|
|
const { markdownlint } = require('markdownlint').promises
|
|
|
|
|
|
|
|
const relativeLinks = require('../src/index.js')
|
|
|
|
|
2023-06-24 11:42:09 +02:00
|
|
|
test('ensure the rule validate correctly', async () => {
|
2023-01-02 15:23:16 +01:00
|
|
|
const lintResults = await markdownlint({
|
|
|
|
files: ['test/fixtures/Valid.md', 'test/fixtures/Invalid.md'],
|
|
|
|
config: {
|
2023-06-24 11:42:09 +02:00
|
|
|
default: false,
|
2023-01-02 15:23:16 +01:00
|
|
|
'relative-links': true
|
|
|
|
},
|
|
|
|
customRules: [relativeLinks]
|
|
|
|
})
|
2023-06-24 09:58:45 +02:00
|
|
|
assert.equal(lintResults['test/fixtures/Valid.md'].length, 0)
|
2023-06-24 11:42:09 +02:00
|
|
|
assert.equal(lintResults['test/fixtures/Invalid.md'].length, 3)
|
2023-01-02 19:45:46 +01:00
|
|
|
|
2023-06-24 09:58:45 +02:00
|
|
|
assert.equal(
|
2023-01-02 19:45:46 +01:00
|
|
|
lintResults['test/fixtures/Invalid.md'][0]?.ruleDescription,
|
2023-01-02 15:23:16 +01:00
|
|
|
'Relative links should be valid'
|
|
|
|
)
|
2023-06-24 09:58:45 +02:00
|
|
|
assert.equal(
|
2023-01-02 19:45:46 +01:00
|
|
|
lintResults['test/fixtures/Invalid.md'][0]?.errorDetail,
|
2023-06-27 13:15:03 +02:00
|
|
|
'Link "./basic.test.js" should exist in the file system'
|
2023-01-02 15:23:16 +01:00
|
|
|
)
|
2023-01-02 19:45:46 +01:00
|
|
|
|
2023-06-24 09:58:45 +02:00
|
|
|
assert.equal(
|
2023-01-02 19:45:46 +01:00
|
|
|
lintResults['test/fixtures/Invalid.md'][1]?.ruleDescription,
|
|
|
|
'Relative links should be valid'
|
|
|
|
)
|
2023-06-24 09:58:45 +02:00
|
|
|
assert.equal(
|
2023-01-02 19:45:46 +01:00
|
|
|
lintResults['test/fixtures/Invalid.md'][1]?.errorDetail,
|
2023-06-27 13:15:03 +02:00
|
|
|
'Link "../image.png" should exist in the file system'
|
2023-06-24 11:42:09 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
assert.equal(
|
|
|
|
lintResults['test/fixtures/Invalid.md'][2]?.ruleDescription,
|
|
|
|
'Relative links should be valid'
|
|
|
|
)
|
|
|
|
assert.equal(
|
|
|
|
lintResults['test/fixtures/Invalid.md'][2]?.errorDetail,
|
2023-06-27 13:15:03 +02:00
|
|
|
'Link "./Valid.md#not-existing-heading" should have a valid fragment'
|
2023-01-02 19:45:46 +01:00
|
|
|
)
|
2023-01-02 15:23:16 +01:00
|
|
|
})
|