autolinking.test.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import assert from 'node:assert/strict';
  2. import { describe, it, before } from 'node:test';
  3. import { createMarkdownProcessor } from '../dist/index.js';
  4. describe('autolinking', () => {
  5. describe('plain md', () => {
  6. let processor;
  7. before(async () => {
  8. processor = await createMarkdownProcessor();
  9. });
  10. it('autolinks URLs starting with a protocol in plain text', async () => {
  11. const markdown = `See https://example.com for more.`;
  12. const { code } = await processor.render(markdown);
  13. assert.equal(
  14. code.replace(/\n/g, ''),
  15. `<p>See <a href="https://example.com">https://example.com</a> for more.</p>`
  16. );
  17. });
  18. it('autolinks URLs starting with "www." in plain text', async () => {
  19. const markdown = `See www.example.com for more.`;
  20. const { code } = await processor.render(markdown);
  21. assert.equal(
  22. code.trim(),
  23. `<p>See <a href="http://www.example.com">www.example.com</a> for more.</p>`
  24. );
  25. });
  26. it('does not autolink URLs in code blocks', async () => {
  27. const markdown = `See \`https://example.com\` or \`www.example.com\` for more.`;
  28. const { code } = await processor.render(markdown);
  29. assert.equal(
  30. code.trim(),
  31. `<p>See <code>https://example.com</code> or <code>www.example.com</code> for more.</p>`
  32. );
  33. });
  34. });
  35. });