aboutsummaryrefslogtreecommitdiff
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.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/packages/markdown/remark/test/autolinking.test.js b/packages/markdown/remark/test/autolinking.test.js
new file mode 100644
index 000000000..3fd5ad0fc
--- /dev/null
+++ b/packages/markdown/remark/test/autolinking.test.js
@@ -0,0 +1,43 @@
+import assert from 'node:assert/strict';
+import { before, describe, it } from 'node:test';
+import { createMarkdownProcessor } from '../dist/index.js';
+
+describe('autolinking', () => {
+ describe('plain md', () => {
+ let processor;
+
+ before(async () => {
+ processor = await createMarkdownProcessor();
+ });
+
+ it('autolinks URLs starting with a protocol in plain text', async () => {
+ const markdown = `See https://example.com for more.`;
+ const { code } = await processor.render(markdown);
+
+ assert.equal(
+ code.replace(/\n/g, ''),
+ `<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 markdown = `See www.example.com for more.`;
+ const { code } = await processor.render(markdown);
+
+ assert.equal(
+ code.trim(),
+ `<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 markdown = `See \`https://example.com\` or \`www.example.com\` for more.`;
+ const { code } = await processor.render(markdown);
+
+ assert.equal(
+ code.trim(),
+ `<p>See <code>https://example.com</code> or <code>www.example.com</code> for more.</p>`,
+ );
+ });
+ });
+});