AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { describe, expect, test } from 'vitest'
import { runRule } from '../../lib/init-test'
import { linkQuotation } from '../../lib/linting-rules/link-quotation'
import type { Rule } from '../../types'
describe(linkQuotation.names.join(' - '), () => {
test('links that are formatted correctly should not generate an error', async () => {
const markdown = [
'Random stuff [A title](./image.png)',
'"This is a direct quote" [A title](./image.png)',
].join('\n')
const result = await runRule(linkQuotation as Rule, { strings: { markdown } })
const errors = result.markdown
expect(errors.length).toBe(0)
})
test('links with quotes around them should error out', async () => {
const markdown = [
'Random stuff "[A title](./image.png)."',
'Random stuff "[A title](./image.png)?"',
'Random stuff "[A title](./image.png)!"',
'Random stuff "[A title](./image.png)".',
'Random stuff "[A title](./image.png)"?',
'Random stuff "[A title](./image.png)"!',
'See "[AUTOTITLE](/foo/bar){% ifversion fpt %}."{% elsif ghes or ghec %}" and "[AUTOTITLE](/foo/bar)."{% endif %}',
'See "[AUTOTITLE](/foo/bar)," "[AUTOTITLE](/foo/bar2)," "[AUTOTITLE](/foo/bar3)," and "[AUTOTITLE](/foo/bar4)."',
'See "[Anchor link](#anchor-link)."',
].join('\n')
const result = await runRule(linkQuotation as Rule, { strings: { markdown } })
const errors = result.markdown
expect(errors.length).toBe(13)
expect(errors[0].errorRange).toEqual([14, 25])
expect(errors[0].fixInfo?.insertText).toBe('[A title](./image.png).')
expect(errors[1].fixInfo?.insertText).toBe('[A title](./image.png)?')
})
})