import { createMarkdownProcessor } from '../dist/index.js';
import chai from 'chai';

describe('autolinking', () => {
	describe('plain md', async () => {
		const processor = await createMarkdownProcessor();

		it('autolinks URLs starting with a protocol in plain text', async () => {
			const { code } = await processor.render(`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 processor.render(`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 processor.render(
				'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>`
				);
		});
	});
});