Files
quartz-website/quartz/components/frames/frames.test.ts
T

42 lines
1.4 KiB
TypeScript

import test, { describe } from "node:test"
import assert from "node:assert"
import { resolveFrame, frameRegistry } from "./index"
import { DefaultFrame } from "./DefaultFrame"
import { FullWidthFrame } from "./FullWidthFrame"
import type { PageFrame } from "./types"
const customFrame: PageFrame = {
name: "custom-test-frame",
render: () => null as any,
}
describe("resolveFrame", () => {
test("returns DefaultFrame for undefined", () => {
assert.strictEqual(resolveFrame(undefined), DefaultFrame)
})
test("returns DefaultFrame for 'default'", () => {
assert.strictEqual(resolveFrame("default"), DefaultFrame)
})
test("returns named built-in frame", () => {
assert.strictEqual(resolveFrame("full-width"), FullWidthFrame)
})
test("returns DefaultFrame for unknown frame name", () => {
assert.strictEqual(resolveFrame("nonexistent"), DefaultFrame)
})
test("plugin-registered frame takes priority", () => {
frameRegistry.register("custom-test-frame", customFrame, "test-plugin")
const result = resolveFrame("custom-test-frame")
assert.strictEqual(result, customFrame)
})
test("returns DefaultFrame for unknown name even with plugin frames registered", () => {
frameRegistry.register("custom-test-frame", customFrame, "test-plugin")
const result = resolveFrame("totally-unknown")
assert.strictEqual(result, DefaultFrame)
})
})