feat: implement governed wiki vertical slice
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
|
||||
const page = fs.readFileSync("src/features/wiki/WikiPage.tsx", "utf8");
|
||||
const styles = fs.readFileSync("src/styles/wiki.css", "utf8");
|
||||
|
||||
assert.ok(page.includes("WorkspaceActionBar"), "Wiki uses the semantic shared action bar");
|
||||
assert.ok(page.includes("refreshable"), "The refreshable Wiki workspace exposes Reload");
|
||||
assert.ok(page.includes("DocumentationHelpLink"), "Wiki exposes configured-system help");
|
||||
assert.ok(page.includes("PageScrollViewport"), "Wiki owns bounded tree and detail scrolling");
|
||||
assert.ok(page.includes("SelectionList"), "Wiki uses the shared semantic selection list");
|
||||
assert.ok(page.includes('<Dialog open={open} title={record ? "Edit Wiki page"'), "Wiki editing uses the shared focus-contained dialog");
|
||||
assert.ok(page.includes('size="large"'), "Complex Wiki forms use the approved large dialog size");
|
||||
assert.ok(page.includes("FieldLabel"), "Wiki fields use the shared label and help contract");
|
||||
assert.ok(page.includes("StatusBadge"), "Wiki lifecycle state is not conveyed by color alone");
|
||||
assert.ok(page.includes("<ConfirmDialog"), "Wiki archive operations are separately confirmed");
|
||||
assert.ok(page.includes("wiki-destructive-actions"), "Page archival is visually separated from ordinary actions");
|
||||
assert.ok(page.includes("listWikiRevisions"), "The workspace projects immutable revision history");
|
||||
assert.ok(page.includes("compareWikiRevisions"), "The workspace offers revision comparison");
|
||||
assert.ok(!page.includes("window.alert("), "Wiki must not use browser alerts");
|
||||
assert.ok(!/<(div|span|li|tr)\b[^>]*\bonClick\s*=/.test(page), "Wiki uses semantic interactive elements");
|
||||
assert.ok(styles.includes("@media (max-width: 760px)"), "Wiki retains a responsive tree-detail layout");
|
||||
assert.ok(styles.includes(":focus-visible"), "Wiki retains visible keyboard focus");
|
||||
|
||||
console.log("Wiki interface pattern contract passed.");
|
||||
Reference in New Issue
Block a user