html.test.ts 613 B

123456789101112131415
  1. import { describe, expect, test } from "bun:test"
  2. import { escapeHtml } from "../../src/util/html"
  3. describe("escapeHtml", () => {
  4. test("escapes HTML metacharacters", () => {
  5. expect(escapeHtml(`</div><script>alert(1)</script><div class="x">`)).toBe(
  6. "&lt;/div&gt;&lt;script&gt;alert(1)&lt;/script&gt;&lt;div class=&quot;x&quot;&gt;",
  7. )
  8. expect(escapeHtml("a & b")).toBe("a &amp; b")
  9. expect(escapeHtml("it's fine")).toBe("it&#39;s fine")
  10. expect(escapeHtml("invalid_grant")).toBe("invalid_grant")
  11. expect(escapeHtml("")).toBe("")
  12. expect(escapeHtml("&<")).toBe("&amp;&lt;")
  13. })
  14. })