import MarkdownIt from "markdown-it"; import { describe, expect, it } from "vitest"; describe("autolink", () => { const markdownIt = MarkdownIt(); markdownIt.options.linkify = true; it("Should resolve bare link", () => { expect(markdownIt.render(`https://example.com`)).toBe( '

https://example.com

\n', ); expect(markdownIt.render(`https://example.com/a/`)).toBe( '

https://example.com/a/

\n', ); expect(markdownIt.render(`https://example.com/a/b.html`)).toBe( '

https://example.com/a/b.html

\n', ); expect( markdownIt.render(` https://example.com `), ).toBe('

https://example.com

\n'); expect( markdownIt.render(` https://example.com/a/ `), ).toBe( '

https://example.com/a/

\n', ); expect( markdownIt.render(` https://example.com/a/b.html `), ).toBe( '

https://example.com/a/b.html

\n', ); }); it("Should resolve auto link", () => { expect(markdownIt.render(``)).toBe( '

https://example.com

\n', ); expect(markdownIt.render(``)).toBe( '

https://example.com/a/

\n', ); expect(markdownIt.render(``)).toBe( '

https://example.com/a/b.html

\n', ); expect( markdownIt.render(` `), ).toBe('

https://example.com

\n'); expect( markdownIt.render(` `), ).toBe( '

https://example.com/a/

\n', ); expect( markdownIt.render(` `), ).toBe( '

https://example.com/a/b.html

\n', ); }); it("Should resolve bare link in text", () => { expect( markdownIt.render(`Please open https://example.com for more details`), ).toBe( '

Please open https://example.com for more details

\n', ); expect( markdownIt.render(`Please open https://example.com/a/ for more details`), ).toBe( '

Please open https://example.com/a/ for more details

\n', ); expect( markdownIt.render( `Please open https://example.com/a/b.html for more details`, ), ).toBe( '

Please open https://example.com/a/b.html for more details

\n', ); expect( markdownIt.render(` Please open https://example.com for more details `), ).toBe( '

Please open https://example.com for more details

\n', ); expect( markdownIt.render(` Please open https://example.com/a/ for more details `), ).toBe( '

Please open https://example.com/a/ for more details

\n', ); expect( markdownIt.render( ` Please open https://example.com/a/b.html for more details `, ), ).toBe( '

Please open https://example.com/a/b.html for more details

\n', ); }); it("Should resolve auto link in text", () => { expect( markdownIt.render(`Please open for more details`), ).toBe( '

Please open https://example.com for more details

\n', ); expect( markdownIt.render( `Please open for more details`, ), ).toBe( '

Please open https://example.com/a/ for more details

\n', ); expect( markdownIt.render( `Please open for more details`, ), ).toBe( '

Please open https://example.com/a/b.html for more details

\n', ); expect( markdownIt.render(` Please open for more details `), ).toBe( '

Please open https://example.com for more details

\n', ); expect( markdownIt.render(` Please open for more details `), ).toBe( '

Please open https://example.com/a/ for more details

\n', ); expect( markdownIt.render( ` Please open for more details `, ), ).toBe( '

Please open https://example.com/a/b.html for more details

\n', ); }); });