astro/packages/markdown/remark/test/autolinking.test.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

import { renderMarkdown } from '../dist/index.js';
import chai from 'chai';
import { mockRenderMarkdownParams } from './test-utils.js';
describe('autolinking', () => {
describe('plain md', () => {
it('autolinks URLs starting with a protocol in plain text', async () => {
const { code } = await renderMarkdown(
`See https://example.com for more.`,
mockRenderMarkdownParams
);
2022-07-22 22:47:21 +00:00
chai
.expect(code.replace(/\n/g, ''))
.to.equal(`<p>See <a href="https://example.com">https://example.com</a> for more.</p>`);
});
2022-07-22 22:47:21 +00:00
it('autolinks URLs starting with "www." in plain text', async () => {
const { code } = await renderMarkdown(
`See www.example.com for more.`,
mockRenderMarkdownParams
);
2022-07-22 22:47:21 +00:00
chai
.expect(code.trim())
.to.equal(`<p>See <a href="http://www.example.com">www.example.com</a> for more.</p>`);
});
2022-07-22 22:47:21 +00:00
it('does not autolink URLs in code blocks', async () => {
const { code } = await renderMarkdown(
'See `https://example.com` or `www.example.com` for more.',
mockRenderMarkdownParams
2022-06-10 03:33:13 +00:00
);
2022-07-22 22:47:21 +00:00
chai
.expect(code.trim())
.to.equal(
`<p>See <code>https://example.com</code> or ` +
`<code>www.example.com</code> for more.</p>`
);
});
});
});