Add tests

This commit is contained in:
Ticruz
2025-02-04 13:21:23 +01:00
committed by Jon Staab
parent 917727c86f
commit 8a2b62f693
57 changed files with 9231 additions and 25 deletions
@@ -0,0 +1,69 @@
import {describe, it, expect, beforeEach} from "vitest"
import {htmlRenderOptions, Renderer, textRenderOptions} from "../src"
describe("Renderer", () => {
let renderer: Renderer
describe("Html renderer", () => {
beforeEach(() => {
renderer = new Renderer(htmlRenderOptions)
})
it("should render text", () => {
renderer.addText("Hello world")
expect(renderer.toString()).toBe("Hello world")
})
it("should render newlines", () => {
renderer.addNewlines(2)
expect(renderer.toString()).toBe("\n\n")
})
it("should render links", () => {
renderer.addLink("https://njump.me", "Example")
expect(renderer.toString()).toBe('<a href="https://njump.me/" target="_blank">Example</a>')
})
it("should render entities", () => {
renderer.addEntityLink("1234567890abcdef")
expect(renderer.toString()).toBe(
'<a href="https://njump.me/1234567890abcdef" target="_blank">1234567890abcdef…</a>',
)
})
it("should escape HTML in text content", () => {
renderer.addText('<script>alert("xss")</script>')
expect(renderer.toString()).not.toContain("<script>")
})
})
describe("Text renderer", () => {
beforeEach(() => {
renderer = new Renderer(textRenderOptions)
})
it("should render text", () => {
renderer.addText("Hello world")
expect(renderer.toString()).toBe("Hello world")
})
it("should render newlines", () => {
renderer.addNewlines(2)
expect(renderer.toString()).toBe("\n\n")
})
it("should render links", () => {
renderer.addLink("https://njump.me", "Example")
expect(renderer.toString()).toBe("https://njump.me")
})
it("should render entities", () => {
renderer.addEntityLink("1234567890abcdef")
expect(renderer.toString()).toBe("1234567890abcdef")
})
it("should escape HTML in text content", () => {
renderer.addText('<script>alert("xss")</script>')
expect(renderer.toString()).not.toContain("<script>")
})
})
})