Something went wrong. Try again.
Monorepo for Tangled tangled.org
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031import { describe, expect, it } from "vitest";import { renderInline } from "#lib/markup/inline.ts";
describe("renderInline", () => { it("keeps the allowed marks", () => { expect(renderInline("**b** *i* ~~s~~ `c`")).toBe( "<strong>b</strong> <em>i</em> <s>s</s> <code>c</code>" ); });
it("links labels and bare urls", () => { expect(renderInline("[docs](https://tangled.org/docs) https://tangled.org")).toBe( '<a href="https://tangled.org/docs" rel="nofollow ugc noopener noreferrer">docs</a> ' + '<a href="https://tangled.org" rel="nofollow ugc noopener noreferrer">https://tangled.org</a>' ); });
it("keeps the label text when links are off", () => { expect(renderInline("[docs](https://tangled.org/docs)", false)).toBe("docs"); });
it("drops unsafe link schemes", () => { expect(renderInline("[x](javascript:alert(1))")).not.toContain("<a"); });
it("escapes raw html and drops other tags", () => { expect(renderInline("<b>x</b>")).toBe("<b>x</b>"); expect(renderInline("")).not.toContain("<img"); });});