import { describe, expect, it } from "vitest"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; const readEtmfSource = () => readFileSync(resolve(__dirname, "./EtmfPlaceholder.vue"), "utf8"); describe("EtmfPlaceholder copy", () => { it("does not show redundant directory count or select-node helper copy", () => { const source = readEtmfSource(); expect(source).not.toContain("个目录节点"); expect(source).not.toContain("selectNodeHint"); }); }); describe("EtmfPlaceholder desktop layout", () => { it("keeps archive status in the document header instead of a standalone side column", () => { const source = readEtmfSource(); expect(source).toContain('class="document-status-summary"'); expect(source).toContain('class="status-summary-list"'); expect(source).not.toContain('class="etmf-node-detail"'); expect(source).toContain("grid-template-columns: 280px minmax(0, 1fr);"); expect(source).not.toContain("grid-template-columns: minmax(280px, 340px) minmax(520px, 1fr) minmax(260px, 320px);"); }); });