function assert(condition: unknown, message = "assertion failed"): void {
if (!condition) throw new Error(message);
}
import { renderToStaticMarkup } from "react-dom/server";
import WorkspaceLayout from "../src/components/WorkspaceLayout";
import { PlatformLanguageProvider } from "../src/i18n/LanguageContext";
const navigationMarkup = renderToStaticMarkup(
Sections}
primaryLabel="Campaign sections"
contentLabel="Campaign content"
interfaceId="campaign.workspace"
helpModuleId="campaign"
>
Selected section
);
assert(navigationMarkup.includes("workspace-layout-navigation"), "navigation workspaces use the central navigation geometry");
assert(navigationMarkup.includes("workspace-layout-primary-default"), "the default primary-pane width is explicit");
assert(navigationMarkup.includes("workspace-layout-pane-contained"), "navigation panes defer scrolling to their navigation component");
assert(navigationMarkup.includes('aria-label="Campaign sections"'), "the primary pane can be named");
assert(navigationMarkup.includes('aria-label="Campaign content"'), "the content pane can be named");
assert(navigationMarkup.includes('data-help-scope="workspace"'), "workspace contextual-help scope is centralized");
assert(navigationMarkup.includes('data-interface-id="campaign.workspace"'), "workspace identity reaches the root");
assert(navigationMarkup.includes('data-help-documentation-type="user"'), "workspace documentation type is explicit");
const splitMarkup = renderToStaticMarkup(
Collection}
>
Detail
);
assert(splitMarkup.includes("workspace-layout-split"), "list-detail workspaces opt into split-pane geometry");
assert(splitMarkup.includes("workspace-layout-primary-wide"), "split workspaces use central width variants");
assert(splitMarkup.includes("workspace-layout-pane-scrollable"), "split primary panes can own scrolling");
assert(splitMarkup.includes("workspace-layout-content workspace-layout-pane-contained"), "contained content panes can delegate scrolling to their children");