summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/test/autolinking.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/markdown/remark/test/autolinking.test.js')
-rw-r--r--packages/markdown/remark/test/autolinking.test.js176
1 files changed, 96 insertions, 80 deletions
diff --git a/packages/markdown/remark/test/autolinking.test.js b/packages/markdown/remark/test/autolinking.test.js
index 513d12ac6..61117bddc 100644
--- a/packages/markdown/remark/test/autolinking.test.js
+++ b/packages/markdown/remark/test/autolinking.test.js
@@ -2,91 +2,107 @@ import { renderMarkdown } from '../dist/index.js';
import chai from 'chai';
describe('autolinking', () => {
- it('autolinks URLs starting with a protocol in plain text', async () => {
- const { code } = await renderMarkdown(`See https://example.com for more.`, {});
-
- chai
- .expect(code.replace(/\n/g, ''))
- .to.equal(`<p>See <a href="https://example.com">https://example.com</a> for more.</p>`);
- });
-
- it('autolinks URLs starting with "www." in plain text', async () => {
- const { code } = await renderMarkdown(`See www.example.com for more.`, {});
-
- chai
- .expect(code.trim())
- .to.equal(`<p>See <a href="http://www.example.com">www.example.com</a> for more.</p>`);
- });
-
- it('does not autolink URLs in code blocks', async () => {
- const { code } = await renderMarkdown(
- 'See `https://example.com` or `www.example.com` for more.',
- {}
- );
-
- chai
- .expect(code.trim())
- .to.equal(
- `<p>See <code is:raw>https://example.com</code> or ` +
- `<code is:raw>www.example.com</code> for more.</p>`
+ describe('plain md', () => {
+ it('autolinks URLs starting with a protocol in plain text', async () => {
+ const { code } = await renderMarkdown(`See https://example.com for more.`, {});
+
+ chai
+ .expect(code.replace(/\n/g, ''))
+ .to.equal(`<p>See <a href="https://example.com">https://example.com</a> for more.</p>`);
+ });
+
+ it('autolinks URLs starting with "www." in plain text', async () => {
+ const { code } = await renderMarkdown(`See www.example.com for more.`, {});
+
+ chai
+ .expect(code.trim())
+ .to.equal(`<p>See <a href="http://www.example.com">www.example.com</a> for more.</p>`);
+ });
+
+ it('does not autolink URLs in code blocks', async () => {
+ const { code } = await renderMarkdown(
+ 'See `https://example.com` or `www.example.com` for more.',
+ {}
);
+
+ chai
+ .expect(code.trim())
+ .to.equal(
+ `<p>See <code>https://example.com</code> or ` +
+ `<code>www.example.com</code> for more.</p>`
+ );
+ });
});
- it('does not autolink URLs in fenced code blocks', async () => {
- const { code } = await renderMarkdown(
- 'Example:\n```\nGo to https://example.com or www.example.com now.\n```',
- {}
- );
-
- chai
- .expect(code)
- .to.contain(`<pre is:raw`)
- .to.contain(`Go to https://example.com or www.example.com now.`);
- });
-
- it('does not autolink URLs starting with a protocol when nested inside links', async () => {
- const { code } = await renderMarkdown(
- `See [http://example.com](http://example.com) or ` +
- `<a test href="https://example.com">https://example.com</a>`,
- {}
- );
+ describe('astro-flavored md', () => {
+ const renderAstroMd = text => renderMarkdown(text, { isAstroFlavoredMd: true });
- chai
- .expect(code.replace(/\n/g, ''))
- .to.equal(
- `<p>See <a href="http://example.com">http://example.com</a> or ` +
- `<a test href="https://example.com">https://example.com</a></p>`
+ it('does not autolink URLs in code blocks', async () => {
+ const { code } = await renderAstroMd(
+ 'See `https://example.com` or `www.example.com` for more.',
+ {}
);
- });
-
- it('does not autolink URLs starting with "www." when nested inside links', async () => {
- const { code } = await renderMarkdown(
- `See [www.example.com](https://www.example.com) or ` +
- `<a test href="https://www.example.com">www.example.com</a>`,
- {}
- );
-
- chai
- .expect(code.replace(/\n/g, ''))
- .to.equal(
- `<p>See <a href="https://www.example.com">www.example.com</a> or ` +
- `<a test href="https://www.example.com">www.example.com</a></p>`
+
+ chai
+ .expect(code.trim())
+ .to.equal(
+ `<p>See <code is:raw>https://example.com</code> or ` +
+ `<code is:raw>www.example.com</code> for more.</p>`
+ );
+ });
+
+ it('does not autolink URLs in fenced code blocks', async () => {
+ const { code } = await renderAstroMd(
+ 'Example:\n```\nGo to https://example.com or www.example.com now.\n```'
);
- });
-
- it('does not autolink URLs when nested several layers deep inside links', async () => {
- const { code } = await renderMarkdown(
- `<a href="https://www.example.com">**Visit _our www.example.com or ` +
- `http://localhost pages_ for more!**</a>`,
- {}
- );
-
- chai
- .expect(code.replace(/\n/g, ''))
- .to.equal(
- `<a href="https://www.example.com"><strong>` +
- `Visit <em>our www.example.com or http://localhost pages</em> for more!` +
- `</strong></a>`
+
+ chai
+ .expect(code)
+ .to.contain(`<pre is:raw`)
+ .to.contain(`Go to https://example.com or www.example.com now.`);
+ });
+
+ it('does not autolink URLs starting with a protocol when nested inside links', async () => {
+ const { code } = await renderAstroMd(
+ `See [http://example.com](http://example.com) or ` +
+ `<a test href="https://example.com">https://example.com</a>`
);
- });
+
+ chai
+ .expect(code.replace(/\n/g, ''))
+ .to.equal(
+ `<p>See <a href="http://example.com">http://example.com</a> or ` +
+ `<a test href="https://example.com">https://example.com</a></p>`
+ );
+ });
+
+ it('does not autolink URLs starting with "www." when nested inside links', async () => {
+ const { code } = await renderAstroMd(
+ `See [www.example.com](https://www.example.com) or ` +
+ `<a test href="https://www.example.com">www.example.com</a>`
+ );
+
+ chai
+ .expect(code.replace(/\n/g, ''))
+ .to.equal(
+ `<p>See <a href="https://www.example.com">www.example.com</a> or ` +
+ `<a test href="https://www.example.com">www.example.com</a></p>`
+ );
+ });
+
+ it('does not autolink URLs when nested several layers deep inside links', async () => {
+ const { code } = await renderAstroMd(
+ `<a href="https://www.example.com">**Visit _our www.example.com or ` +
+ `http://localhost pages_ for more!**</a>`
+ );
+
+ chai
+ .expect(code.replace(/\n/g, ''))
+ .to.equal(
+ `<a href="https://www.example.com"><strong>` +
+ `Visit <em>our www.example.com or http://localhost pages</em> for more!` +
+ `</strong></a>`
+ );
+ });
+ })
});