feat: replace CJS require with static imports, add comprehensive layout system tests

This commit is contained in:
saberzero1
2026-07-27 20:23:31 +02:00
parent 6f27207fbf
commit 508f73a33f
9 changed files with 1096 additions and 183 deletions
+41
View File
@@ -0,0 +1,41 @@
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)
})
})