@fairfox/polly 0.86.0 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gallery/gallery.js +6 -4
- package/dist/src/polly-ui/index.js +5 -3
- package/dist/src/polly-ui/index.js.map +3 -3
- package/dist/tools/test/src/browser/index.js +15 -4
- package/dist/tools/test/src/browser/index.js.map +3 -3
- package/dist/tools/test/src/browser/run.d.ts +10 -3
- package/dist/tools/test/src/browser/run.js +313 -31
- package/dist/tools/test/src/browser/run.js.map +6 -5
- package/dist/tools/test/src/browser/runner-core.d.ts +64 -0
- package/dist/tools/test/src/browser/source-map.d.ts +31 -0
- package/package.json +1 -1
|
@@ -1500,6 +1500,8 @@ function Root2({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
|
1500
1500
|
const mountRef = useRef4(null);
|
|
1501
1501
|
const [portalNode, setPortalNode] = useState2(null);
|
|
1502
1502
|
const isOpen = typeof when === "boolean" ? when : when.value;
|
|
1503
|
+
const onCloseRef = useRef4(onClose);
|
|
1504
|
+
onCloseRef.current = onClose;
|
|
1503
1505
|
useEffect4(() => {
|
|
1504
1506
|
if (!isOpen) {
|
|
1505
1507
|
setPortalNode(null);
|
|
@@ -1510,7 +1512,7 @@ function Root2({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
|
1510
1512
|
useEffect4(() => {
|
|
1511
1513
|
if (!isOpen || !portalNode)
|
|
1512
1514
|
return;
|
|
1513
|
-
const entry = { id, onClose };
|
|
1515
|
+
const entry = { id, onClose: () => onCloseRef.current?.() };
|
|
1514
1516
|
pushOverlay(entry);
|
|
1515
1517
|
const el = mountRef.current;
|
|
1516
1518
|
const cleanup = el ? installFocusTrap(el) : () => {};
|
|
@@ -1518,7 +1520,7 @@ function Root2({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
|
1518
1520
|
cleanup();
|
|
1519
1521
|
popOverlay(id);
|
|
1520
1522
|
};
|
|
1521
|
-
}, [isOpen, portalNode, id
|
|
1523
|
+
}, [isOpen, portalNode, id]);
|
|
1522
1524
|
if (!isOpen || !portalNode)
|
|
1523
1525
|
return null;
|
|
1524
1526
|
const close = () => {
|
|
@@ -2417,4 +2419,4 @@ export {
|
|
|
2417
2419
|
getOverlayRootNode
|
|
2418
2420
|
};
|
|
2419
2421
|
|
|
2420
|
-
//# debugId=
|
|
2422
|
+
//# debugId=CE1386A9435DE31764756E2164756E21
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"/**\n * Code — inline monospace code span.\n *\n * Renders a `<code>` with the `--polly-font-mono` stack, a faint sunken\n * tint, and snug padding so a consumer never hand-rolls a `.mono` class\n * for inline code, identifiers, or keyboard hints. For multi-line code\n * blocks, pass `block`, which switches to a pre-wrapped <pre><code>.\n */\n\nimport type { ComponentChildren, JSX } from \"preact\";\nimport classes from \"./Code.module.css\";\nimport { collectPassthrough, type PassthroughAttrs } from \"./internal/passthrough.ts\";\n\nexport type CodeProps = PassthroughAttrs & {\n children: ComponentChildren;\n /** Render as a block (<pre><code>) instead of an inline span. */\n block?: boolean;\n className?: string;\n id?: string;\n};\n\nexport function Code(props: CodeProps): JSX.Element {\n const { children, block, className, id } = props;\n\n // Consumer data-*/aria-* spread first; the explicit attributes after\n // win on any collision.\n const passthrough = collectPassthrough(props);\n\n if (block) {\n const parts = [classes[\"block\"]];\n if (className) parts.push(className);\n return (\n <pre\n {...passthrough}\n id={id}\n class={parts.filter(Boolean).join(\" \")}\n data-polly-ui\n data-polly-code=\"block\"\n >\n <code>{children}</code>\n </pre>\n );\n }\n\n const parts = [classes[\"code\"]];\n if (className) parts.push(className);\n return (\n <code\n {...passthrough}\n id={id}\n class={parts.filter(Boolean).join(\" \")}\n data-polly-ui\n data-polly-code=\"inline\"\n >\n {children}\n </code>\n );\n}\n",
|
|
19
19
|
"/**\n * Collapsible — native <details>/<summary> wrapper.\n *\n * Uses the browser's built-in disclosure semantics so keyboard and\n * screen-reader behaviour come free. A ::before arrow rotates on open.\n * Colors, spacing, and motion come from tokens; `prefers-reduced-motion`\n * zeroes the rotation via the motion token.\n */\n\nimport type { ComponentChildren, JSX } from \"preact\";\nimport classes from \"./Collapsible.module.css\";\n\nexport type CollapsibleProps = {\n /** Disclosure header. A string for the common case, or any node —\n * e.g. a muted, small <Text> — when the header needs styling. */\n summary: ComponentChildren;\n children: ComponentChildren;\n defaultOpen?: boolean;\n className?: string;\n id?: string;\n};\n\n/** Input types whose Space/Enter is an activation, not text entry — these\n * keep their own keyboard behaviour and must not be guarded. */\nconst NON_TEXT_INPUT_TYPES = new Set([\n \"checkbox\",\n \"radio\",\n \"button\",\n \"submit\",\n \"reset\",\n \"file\",\n \"image\",\n \"range\",\n \"color\",\n]);\n\n/** Is the event target a field where Space/Enter inserts/edits text? */\nfunction isTextEntryTarget(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n if (target instanceof HTMLTextAreaElement) return true;\n if (target.isContentEditable) return true;\n if (target instanceof HTMLInputElement) {\n return !NON_TEXT_INPUT_TYPES.has(target.type);\n }\n return false;\n}\n\n/**\n * Chromium toggles a <details> on the Space/Enter *keyup* of its <summary>,\n * even when focus sits in a nested text field — so every space typed in an\n * editable header would collapse the disclosure. stopPropagation can't stop\n * it (the toggle is the summary's own activation behaviour, not a bubbling\n * listener) and preventDefault on *keydown* would swallow the character. The\n * character is already inserted by the time keyup fires, so cancelling the\n * keyup default for text-entry fields kills the toggle while leaving typing\n * untouched. Buttons/checkbox/radio fall through and keep their own\n * activation; the summary itself (no nested field) keeps normal keyboard\n * disclosure.\n */\nfunction handleSummaryKeyUp(event: JSX.TargetedKeyboardEvent<HTMLElement>): void {\n if (event.key !== \" \" && event.key !== \"Enter\") return;\n if (!isTextEntryTarget(event.target)) return;\n event.preventDefault();\n}\n\nexport function Collapsible(props: CollapsibleProps): JSX.Element {\n const { summary, children, defaultOpen = false, className, id } = props;\n const parts = [classes[\"collapsible\"]];\n if (className) parts.push(className);\n return (\n <details\n id={id}\n class={parts.join(\" \")}\n open={defaultOpen}\n data-polly-ui\n data-polly-collapsible\n >\n {/* biome-ignore lint/a11y/noStaticElementInteractions: <summary> is a native interactive disclosure control; this keyup guard cancels its toggle when a nested editable field is the target. */}\n <summary class={classes[\"summary\"]} onKeyUp={handleSummaryKeyUp}>\n {summary}\n </summary>\n <div class={classes[\"content\"]}>{children}</div>\n </details>\n );\n}\n",
|
|
20
20
|
"/**\n * ConfirmDialog — Promise-returning confirmation primitive.\n *\n * `confirm({ title, body, danger })` returns Promise<boolean>. Opens the\n * rendered `<ConfirmDialog.Host />` modal (which must be mounted once at\n * the app root). User picking confirm or cancel resolves the promise.\n * Escape, backdrop click, and explicit `.dismiss()` resolve false.\n */\n\nimport { signal } from \"@preact/signals\";\nimport type { JSX } from \"preact\";\nimport classes from \"./ConfirmDialog.module.css\";\nimport { Modal } from \"./Modal.tsx\";\n\ntype ConfirmRequest = {\n id: number;\n title: string;\n body?: string;\n danger?: boolean;\n confirmLabel?: string;\n cancelLabel?: string;\n resolve: (value: boolean) => void;\n};\n\nconst pending = signal<ConfirmRequest | null>(null);\nconst isOpen = signal(false);\nlet nextId = 0;\n\nexport type ConfirmOptions = {\n title: string;\n body?: string;\n danger?: boolean;\n confirmLabel?: string;\n cancelLabel?: string;\n};\n\nexport function confirm(options: ConfirmOptions): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n nextId += 1;\n pending.value = {\n id: nextId,\n title: options.title,\n body: options.body,\n danger: options.danger,\n confirmLabel: options.confirmLabel,\n cancelLabel: options.cancelLabel,\n resolve,\n };\n isOpen.value = true;\n });\n}\n\nfunction close(result: boolean): void {\n const current = pending.value;\n if (!current) return;\n isOpen.value = false;\n pending.value = null;\n current.resolve(result);\n}\n\n/** Renders the active confirm dialog. Mount once near the app root. */\nfunction Host(): JSX.Element | null {\n const current = pending.value;\n if (!current) return null;\n return (\n <Modal.Root when={isOpen} onClose={() => close(false)}>\n <Modal.Backdrop />\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{current.title}</Modal.Title>\n </Modal.Header>\n {current.body ? <Modal.Body>{current.body}</Modal.Body> : null}\n <Modal.Footer>\n <div class={classes[\"actions\"]} data-polly-confirm-actions>\n <button\n type=\"button\"\n class={classes[\"cancel\"]}\n data-polly-ui\n data-polly-interactive\n data-polly-confirm-cancel\n onClick={() => close(false)}\n >\n {current.cancelLabel ?? \"Cancel\"}\n </button>\n <button\n type=\"button\"\n class={current.danger ? classes[\"confirmDanger\"] : classes[\"confirm\"]}\n data-polly-ui\n data-polly-interactive\n data-polly-confirm-ok\n onClick={() => close(true)}\n >\n {current.confirmLabel ?? \"OK\"}\n </button>\n </div>\n </Modal.Footer>\n </Modal.Content>\n </Modal.Root>\n );\n}\n\nexport const ConfirmDialog = { Host, confirm };\n",
|
|
21
|
-
"/**\n * Modal — compound dialog with focus trap, Escape handling, portal,\n * and overlay-stack integration.\n *\n * Root takes a `when` signal (or boolean). When truthy the content mounts\n * into the OverlayRoot portal, focus moves inside, Tab is trapped, Escape\n * fires `data-action=\"modal:close\"` (or the overlay registry's onClose\n * callback), and the body scroll locks.\n */\n\nimport type { ReadonlySignal } from \"@preact/signals\";\nimport { type ComponentChildren, createContext, type JSX } from \"preact\";\nimport { createPortal } from \"preact/compat\";\nimport { useContext, useEffect, useId, useRef, useState } from \"preact/hooks\";\nimport { popOverlay, pushOverlay } from \"../actions/overlay.ts\";\nimport { installFocusTrap } from \"./internal/focus-trap.ts\";\nimport classes from \"./Modal.module.css\";\nimport { getOverlayRootNode } from \"./OverlayRoot.tsx\";\nimport { Surface } from \"./Surface.tsx\";\n\ntype ModalContext = {\n id: string;\n titleId: string;\n descId: string;\n close: () => void;\n};\n\nconst Ctx = createContext<ModalContext | null>(null);\n\nfunction useModal(): ModalContext {\n const ctx = useContext(Ctx);\n if (!ctx) throw new Error(\"Modal sub-components must render inside <Modal.Root>\");\n return ctx;\n}\n\ntype RootProps = {\n when: ReadonlySignal<boolean> | boolean;\n onClose?: () => void;\n children: ComponentChildren;\n /** Accessible label source: \"title\" uses the <Modal.Title> id, or pass an explicit label. */\n \"aria-label\"?: string;\n};\n\nfunction Root({ when, onClose, children, \"aria-label\": ariaLabel }: RootProps) {\n const id = useId();\n const titleId = `${id}-title`;\n const descId = `${id}-desc`;\n const mountRef = useRef<HTMLDivElement | null>(null);\n const [portalNode, setPortalNode] = useState<HTMLElement | null>(null);\n\n const isOpen = typeof when === \"boolean\" ? when : when.value;\n\n useEffect(() => {\n if (!isOpen) {\n setPortalNode(null);\n return;\n }\n setPortalNode(getOverlayRootNode());\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen || !portalNode) return;\n const entry = { id, onClose };\n pushOverlay(entry);\n const el = mountRef.current;\n const cleanup = el\n ? installFocusTrap(el)\n : () => {\n /* no ref yet */\n };\n return () => {\n cleanup();\n popOverlay(id);\n };\n }, [isOpen, portalNode, id
|
|
21
|
+
"/**\n * Modal — compound dialog with focus trap, Escape handling, portal,\n * and overlay-stack integration.\n *\n * Root takes a `when` signal (or boolean). When truthy the content mounts\n * into the OverlayRoot portal, focus moves inside, Tab is trapped, Escape\n * fires `data-action=\"modal:close\"` (or the overlay registry's onClose\n * callback), and the body scroll locks.\n */\n\nimport type { ReadonlySignal } from \"@preact/signals\";\nimport { type ComponentChildren, createContext, type JSX } from \"preact\";\nimport { createPortal } from \"preact/compat\";\nimport { useContext, useEffect, useId, useRef, useState } from \"preact/hooks\";\nimport { popOverlay, pushOverlay } from \"../actions/overlay.ts\";\nimport { installFocusTrap } from \"./internal/focus-trap.ts\";\nimport classes from \"./Modal.module.css\";\nimport { getOverlayRootNode } from \"./OverlayRoot.tsx\";\nimport { Surface } from \"./Surface.tsx\";\n\ntype ModalContext = {\n id: string;\n titleId: string;\n descId: string;\n close: () => void;\n};\n\nconst Ctx = createContext<ModalContext | null>(null);\n\nfunction useModal(): ModalContext {\n const ctx = useContext(Ctx);\n if (!ctx) throw new Error(\"Modal sub-components must render inside <Modal.Root>\");\n return ctx;\n}\n\ntype RootProps = {\n when: ReadonlySignal<boolean> | boolean;\n onClose?: () => void;\n children: ComponentChildren;\n /** Accessible label source: \"title\" uses the <Modal.Title> id, or pass an explicit label. */\n \"aria-label\"?: string;\n};\n\nfunction Root({ when, onClose, children, \"aria-label\": ariaLabel }: RootProps) {\n const id = useId();\n const titleId = `${id}-title`;\n const descId = `${id}-desc`;\n const mountRef = useRef<HTMLDivElement | null>(null);\n const [portalNode, setPortalNode] = useState<HTMLElement | null>(null);\n\n const isOpen = typeof when === \"boolean\" ? when : when.value;\n\n // Consumers almost always pass an inline closure for `onClose`, so the prop\n // has a new identity on every render. Keeping it in the overlay effect's\n // dependency array made that effect tear down and re-install per render:\n // each run wrote the `stack` signal twice and moved focus twice, and the\n // signal write re-rendered the subscriber that produced the next closure.\n // The result was an unbounded render loop that pinned the main thread\n // (polly#177). The effect now reads the latest callback through a ref, so\n // its dependencies are only the values that genuinely re-open the overlay.\n const onCloseRef = useRef(onClose);\n onCloseRef.current = onClose;\n\n useEffect(() => {\n if (!isOpen) {\n setPortalNode(null);\n return;\n }\n setPortalNode(getOverlayRootNode());\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen || !portalNode) return;\n const entry = { id, onClose: () => onCloseRef.current?.() };\n pushOverlay(entry);\n const el = mountRef.current;\n const cleanup = el\n ? installFocusTrap(el)\n : () => {\n /* no ref yet */\n };\n return () => {\n cleanup();\n popOverlay(id);\n };\n }, [isOpen, portalNode, id]);\n\n if (!isOpen || !portalNode) return null;\n\n const close = () => {\n onClose?.();\n };\n\n const ctx: ModalContext = { id, titleId, descId, close };\n\n const content = (\n <Ctx.Provider value={ctx}>\n <div\n ref={mountRef}\n class={classes[\"container\"]}\n data-polly-ui\n data-polly-modal-content\n data-overlay-id={id}\n data-state=\"open\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={ariaLabel ? undefined : titleId}\n aria-label={ariaLabel}\n aria-describedby={descId}\n >\n {children}\n </div>\n </Ctx.Provider>\n );\n\n return createPortal(content, portalNode);\n}\n\nfunction Backdrop() {\n const { close } = useModal();\n return (\n <div class={classes[\"backdrop\"]} data-polly-modal-backdrop onClick={close} aria-hidden=\"true\" />\n );\n}\n\ntype ContentProps = {\n children: ComponentChildren;\n className?: string;\n style?: JSX.CSSProperties;\n};\n\nfunction Content({ children, className, style }: ContentProps) {\n const cls = className ? `${classes[\"surface\"]} ${className}` : classes[\"surface\"];\n return (\n <Surface\n variant=\"raised\"\n radius=\"lg\"\n shadow=\"lg\"\n position=\"relative\"\n className={cls}\n style={style}\n data-polly-modal-surface\n >\n {children}\n </Surface>\n );\n}\n\nfunction Header({ children }: { children: ComponentChildren }) {\n return (\n <header class={classes[\"header\"]} data-polly-modal-header>\n {children}\n </header>\n );\n}\n\nfunction Title({ children }: { children: ComponentChildren }) {\n const { titleId } = useModal();\n return (\n <h2 id={titleId} class={classes[\"title\"]} data-polly-modal-title>\n {children}\n </h2>\n );\n}\n\nfunction Body({ children }: { children: ComponentChildren }) {\n const { descId } = useModal();\n return (\n <div id={descId} class={classes[\"body\"]} data-polly-modal-body>\n {children}\n </div>\n );\n}\n\nfunction Footer({ children }: { children: ComponentChildren }) {\n return (\n <footer class={classes[\"footer\"]} data-polly-modal-footer>\n {children}\n </footer>\n );\n}\n\ntype CloseProps = {\n children: ComponentChildren;\n /** Fire a registered data-action instead of calling the onClose callback. */\n action?: string;\n};\n\nfunction Close({ children, action }: CloseProps) {\n const { close } = useModal();\n if (action) {\n return (\n <button\n type=\"button\"\n class={classes[\"close\"]}\n data-polly-ui\n data-polly-interactive\n data-polly-modal-close\n data-action={action}\n >\n {children}\n </button>\n );\n }\n return (\n <button\n type=\"button\"\n class={classes[\"close\"]}\n data-polly-ui\n data-polly-interactive\n data-polly-modal-close\n onClick={close}\n >\n {children}\n </button>\n );\n}\n\nexport const Modal = {\n Root,\n Backdrop,\n Content,\n Header,\n Title,\n Body,\n Footer,\n Close,\n};\n",
|
|
22
22
|
"/**\n * Overlay registry.\n *\n * Tracks the stack of open overlays (modals, popovers, confirm dialogs) so\n * Escape can close the topmost and `data-overlay-id`-based DOM scans have\n * a mirror in memory. Each entry stores an id plus an optional close\n * callback; `closeTopOverlay` invokes the callback and pops the entry.\n */\n\nimport { signal } from \"@preact/signals\";\n\nexport type OverlayEntry = {\n id: string;\n onClose?: () => void;\n};\n\nconst stack = signal<OverlayEntry[]>([]);\n\n/** Current overlay stack as a read-only snapshot. */\nexport function overlayStack(): readonly OverlayEntry[] {\n return stack.value;\n}\n\n/** Is any overlay currently open? */\nexport function hasOpenOverlay(): boolean {\n return stack.value.length > 0;\n}\n\n/** The top of the stack, or undefined if empty. */\nexport function topOverlay(): OverlayEntry | undefined {\n const s = stack.value;\n return s[s.length - 1];\n}\n\n/** Push an overlay onto the stack. Returns the popped entry when closed. */\nexport function pushOverlay(entry: OverlayEntry): void {\n stack.value = [...stack.value, entry];\n}\n\n/** Pop a specific overlay by id (or the top if no id given). */\nexport function popOverlay(id?: string): OverlayEntry | undefined {\n const s = stack.value;\n if (s.length === 0) return undefined;\n if (id === undefined) {\n const top = s[s.length - 1];\n stack.value = s.slice(0, -1);\n return top;\n }\n const idx = s.findIndex((e) => e.id === id);\n if (idx === -1) return undefined;\n const entry = s[idx];\n stack.value = [...s.slice(0, idx), ...s.slice(idx + 1)];\n return entry;\n}\n\n/** Close the top overlay by calling its onClose and popping it. */\nexport function closeTopOverlay(): OverlayEntry | undefined {\n const top = topOverlay();\n if (!top) return undefined;\n top.onClose?.();\n return popOverlay(top.id);\n}\n\n/** Reset the stack. Intended for tests. */\nexport function resetOverlayStack(): void {\n stack.value = [];\n}\n",
|
|
23
23
|
"/**\n * Focus trap.\n *\n * Keeps Tab / Shift+Tab inside a root element. Returns a cleanup that\n * restores focus to the element that was active before the trap mounted.\n * Simple and synchronous — assumes a single active trap per OverlayRoot\n * and lets the overlay registry in `@fairfox/polly/actions` enforce that\n * at the stack level.\n */\n\nconst FOCUSABLE_SELECTOR = [\n \"a[href]\",\n \"area[href]\",\n \"button:not([disabled])\",\n \"input:not([disabled]):not([type=hidden])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\",\n \"iframe\",\n \"object\",\n \"embed\",\n '[tabindex]:not([tabindex=\"-1\"])',\n \"[contenteditable]\",\n].join(\",\");\n\nfunction getFocusable(root: HTMLElement): HTMLElement[] {\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR));\n return nodes.filter(\n (el) => !el.hasAttribute(\"disabled\") && el.getAttribute(\"aria-hidden\") !== \"true\"\n );\n}\n\nexport function installFocusTrap(root: HTMLElement): () => void {\n const previousActive = (\n document.activeElement instanceof HTMLElement ? document.activeElement : null\n ) as HTMLElement | null;\n\n // Move focus into the root if it's not already.\n const focusable = getFocusable(root);\n const first = focusable[0] ?? root;\n if (!root.contains(document.activeElement)) {\n first.focus();\n }\n\n function handleKeyDown(event: KeyboardEvent): void {\n if (event.key !== \"Tab\") return;\n const items = getFocusable(root);\n if (items.length === 0) {\n event.preventDefault();\n return;\n }\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n if (!firstItem || !lastItem) return;\n const active = document.activeElement;\n if (event.shiftKey) {\n if (active === firstItem || !root.contains(active)) {\n event.preventDefault();\n lastItem.focus();\n }\n } else if (active === lastItem) {\n event.preventDefault();\n firstItem.focus();\n }\n }\n\n document.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n if (previousActive && document.contains(previousActive)) {\n previousActive.focus();\n }\n };\n}\n",
|
|
24
24
|
"/**\n * OverlayRoot — portal target for stacked overlays.\n *\n * Apps render <OverlayRoot /> once, typically as the last child of the\n * app root. Modal, ConfirmDialog, and Toast portal into this element;\n * the scroll lock toggles based on the overlay registry count.\n */\n\nimport { effect } from \"@preact/signals\";\nimport { useEffect, useRef } from \"preact/hooks\";\nimport { hasOpenOverlay } from \"../actions/overlay.ts\";\nimport { acquireScrollLock } from \"./internal/scroll-lock.ts\";\nimport classes from \"./OverlayRoot.module.css\";\n\nexport function OverlayRoot() {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let release: (() => void) | null = null;\n const dispose = effect(() => {\n if (hasOpenOverlay()) {\n if (!release) release = acquireScrollLock();\n } else if (release) {\n release();\n release = null;\n }\n });\n return () => {\n dispose();\n release?.();\n };\n }, []);\n\n return <div ref={ref} class={classes[\"root\"]} data-polly-ui data-polly-overlay-root />;\n}\n\n/** Get the mount node for portaled overlays. Returns null before mount. */\nexport function getOverlayRootNode(): HTMLElement | null {\n return document.querySelector<HTMLElement>(\"[data-polly-overlay-root]\");\n}\n",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"/**\n * Global error surface for action handlers.\n *\n * Actions that fail set the errorState signal via `submitError`; a `<Toast>`\n * component consumes that signal and renders a dismissable message. Handlers\n * that catch expected failures (validation, quota) may call `setError` directly.\n */\n\nimport { signal } from \"@preact/signals\";\n\nexport type ErrorSeverity = \"error\" | \"warning\" | \"info\";\n\nexport type ErrorEntry = {\n id: string;\n message: string;\n severity: ErrorSeverity;\n action?: string;\n createdAt: number;\n};\n\nexport const errorState = signal<ErrorEntry[]>([]);\n\nlet nextId = 0;\nfunction allocId(): string {\n nextId += 1;\n return `polly-err-${nextId}`;\n}\n\nexport function setError(\n message: string,\n opts: { severity?: ErrorSeverity; action?: string } = {}\n): string {\n const entry: ErrorEntry = {\n id: allocId(),\n message,\n severity: opts.severity ?? \"error\",\n action: opts.action,\n createdAt: Date.now(),\n };\n errorState.value = [...errorState.value, entry];\n return entry.id;\n}\n\nexport function clearError(id?: string): void {\n if (id === undefined) {\n errorState.value = [];\n return;\n }\n errorState.value = errorState.value.filter((e) => e.id !== id);\n}\n\n/**\n * Convenience wrapper for an action's catch block.\n * Logs the action name + error and surfaces a user-visible message.\n */\nexport function submitError(action: string, err: unknown): string {\n const message = err instanceof Error ? err.message : String(err);\n return setError(message, { action, severity: \"error\" });\n}\n",
|
|
38
38
|
"/**\n * Toggle — switch-role checkbox.\n *\n * A visually-hidden <input role=\"switch\"> paired with a styled track\n * and thumb inside a <label>. Passive: the caller drives `checked` and\n * handles state changes via the action registry (wrap the Toggle in a\n * <label data-action=\"...\"> or bind a parent form's submit). a11y\n * attributes come from the native input; the label wraps so clicks\n * anywhere in the control toggle the input.\n */\n\nimport type { JSX } from \"preact\";\nimport classes from \"./Toggle.module.css\";\n\nexport type ToggleProps = {\n checked?: boolean;\n disabled?: boolean;\n label?: string;\n name?: string;\n className?: string;\n id?: string;\n};\n\nexport function Toggle(props: ToggleProps): JSX.Element {\n const { checked = false, disabled = false, label, name, className, id } = props;\n const parts = [classes[\"toggle\"]];\n if (disabled) parts.push(classes[\"disabled\"]);\n if (className) parts.push(className);\n return (\n <label class={parts.join(\" \")} data-polly-ui data-polly-toggle>\n <input\n id={id}\n type=\"checkbox\"\n role=\"switch\"\n name={name}\n aria-checked={checked}\n class={classes[\"input\"]}\n checked={checked}\n disabled={disabled}\n />\n <span class={checked ? `${classes[\"track\"]} ${classes[\"trackChecked\"]}` : classes[\"track\"]}>\n <span\n class={checked ? `${classes[\"thumb\"]} ${classes[\"thumbChecked\"]}` : classes[\"thumb\"]}\n />\n </span>\n {label !== undefined && <span class={classes[\"label\"]}>{label}</span>}\n </label>\n );\n}\n"
|
|
39
39
|
],
|
|
40
|
-
"mappings": "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",
|
|
41
|
-
"debugId": "
|
|
40
|
+
"mappings": "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",
|
|
41
|
+
"debugId": "CE1386A9435DE31764756E2164756E21",
|
|
42
42
|
"names": []
|
|
43
43
|
}
|
|
@@ -72,6 +72,12 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
// tools/test/src/browser/harness.ts
|
|
75
|
+
function reportProgress(event) {
|
|
76
|
+
const fn = window["__pollyProgress"];
|
|
77
|
+
if (typeof fn === "function") {
|
|
78
|
+
fn(event);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
75
81
|
var results = [];
|
|
76
82
|
var suites = [];
|
|
77
83
|
function describe(name, fn) {
|
|
@@ -230,19 +236,24 @@ function cleanup(container) {
|
|
|
230
236
|
container.innerHTML = "";
|
|
231
237
|
}
|
|
232
238
|
async function done() {
|
|
239
|
+
reportProgress({ kind: "plan", total: suites.reduce((n, s) => n + s.tests.length, 0) });
|
|
233
240
|
for (const suite of suites) {
|
|
234
241
|
for (const t of suite.tests) {
|
|
235
242
|
const fullName = `${suite.name} > ${t.name}`;
|
|
243
|
+
reportProgress({ kind: "start", name: fullName });
|
|
244
|
+
let result;
|
|
236
245
|
try {
|
|
237
246
|
await t.fn();
|
|
238
|
-
|
|
247
|
+
result = { name: fullName, passed: true };
|
|
239
248
|
} catch (err) {
|
|
240
|
-
|
|
249
|
+
result = {
|
|
241
250
|
name: fullName,
|
|
242
251
|
passed: false,
|
|
243
252
|
error: err instanceof Error ? err.message : String(err)
|
|
244
|
-
}
|
|
253
|
+
};
|
|
245
254
|
}
|
|
255
|
+
results.push(result);
|
|
256
|
+
reportProgress({ kind: "result", ...result });
|
|
246
257
|
}
|
|
247
258
|
}
|
|
248
259
|
const report = window["__pollyReport"];
|
|
@@ -273,4 +284,4 @@ export {
|
|
|
273
284
|
waitFor
|
|
274
285
|
};
|
|
275
286
|
|
|
276
|
-
//# debugId=
|
|
287
|
+
//# debugId=B042476A041C912A64756E2164756E21
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../tools/test/src/browser/harness.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Browser-side test harness for Polly applications.\n *\n * Provides describe/test/expect/done that run inside a Puppeteer-launched\n * browser tab and record results on window.__testResults for the Node-side\n * runner to collect. Matchers cover both value assertions and DOM element\n * assertions so that Preact component tests and WebRTC adapter tests use\n * the same harness.\n *\n * @example\n * ```typescript\n * import { describe, test, expect, done, flush, cleanup } from \"@fairfox/polly/test/browser\";\n *\n * const app = document.getElementById(\"app\")!;\n *\n * describe(\"my feature\", () => {\n * test(\"renders correctly\", async () => {\n * render(<MyComponent />, app);\n * await flush();\n * expect(app.querySelector(\"h1\")).toHaveTextContent(\"Hello\");\n * cleanup(app);\n * });\n * });\n *\n * done();\n * ```\n */\n\ninterface TestResult {\n name: string;\n passed: boolean;\n error?: string;\n}\n\nconst results: TestResult[] = [];\nconst suites: Array<{\n name: string;\n tests: Array<{ name: string; fn: () => Promise<void> | void }>;\n}> = [];\n\nexport function describe(name: string, fn: () => void): void {\n suites.push({ name, tests: [] });\n fn();\n}\n\nexport function test(name: string, fn: () => Promise<void> | void): void {\n const suite = suites[suites.length - 1];\n if (suite) {\n suite.tests.push({ name, fn });\n }\n}\n\nfunction assertElement(value: unknown): Element {\n if (!(value instanceof Element)) {\n throw new Error(`Expected an Element, got ${typeof value}: ${String(value)}`);\n }\n return value;\n}\n\nexport function expect<T>(actual: T) {\n return {\n // Value matchers\n toBe(expected: T) {\n if (actual !== expected) {\n throw new Error(`Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);\n }\n },\n toEqual(expected: T) {\n if (JSON.stringify(actual) !== JSON.stringify(expected)) {\n throw new Error(`Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);\n }\n },\n toContain(sub: string) {\n if (!String(actual).includes(sub)) {\n throw new Error(`Expected \"${String(actual)}\" to contain \"${sub}\"`);\n }\n },\n toBeTruthy() {\n if (!actual) throw new Error(`Expected truthy, got ${String(actual)}`);\n },\n toBeFalsy() {\n if (actual) throw new Error(`Expected falsy, got ${String(actual)}`);\n },\n toBeNull() {\n if (actual !== null) throw new Error(`Expected null, got ${String(actual)}`);\n },\n toBeDefined() {\n if (actual === undefined || actual === null) {\n throw new Error(`Expected value to be defined, got ${String(actual)}`);\n }\n },\n toBeUndefined() {\n if (actual !== undefined) {\n throw new Error(`Expected undefined, got ${JSON.stringify(actual)}`);\n }\n },\n toBeGreaterThan(expected: number) {\n if (typeof actual !== \"number\" || actual <= expected) {\n throw new Error(`Expected ${String(actual)} to be greater than ${expected}`);\n }\n },\n toHaveLength(expected: number) {\n const obj = actual;\n const len = obj && typeof obj === \"object\" && \"length\" in obj ? Number(obj.length) : -1;\n if (len !== expected) throw new Error(`Expected length ${expected}, got ${len}`);\n },\n toExist() {\n if (actual == null) throw new Error(`Expected value to exist, got ${String(actual)}`);\n },\n\n // DOM element matchers\n toHaveTextContent(expected: string) {\n const el = assertElement(actual);\n if (!el.textContent?.includes(expected)) {\n throw new Error(\n `Expected text content to include ${JSON.stringify(expected)}, got ${JSON.stringify(el.textContent)}`\n );\n }\n },\n toBeChecked() {\n const el = assertElement(actual);\n if (!(el instanceof HTMLInputElement) || !el.checked) {\n throw new Error(\"Expected element to be checked\");\n }\n },\n toBeDisabled() {\n const el = assertElement(actual);\n if (!el.hasAttribute(\"disabled\") && el.getAttribute(\"aria-disabled\") !== \"true\") {\n throw new Error(\"Expected element to be disabled\");\n }\n },\n toHaveValue(expected: string) {\n const el = assertElement(actual);\n const inputEl =\n el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement ? el : null;\n if (!inputEl || inputEl.value !== expected) {\n throw new Error(\n `Expected value ${JSON.stringify(expected)}, got ${JSON.stringify(inputEl?.value ?? \"(not an input)\")}`\n );\n }\n },\n toHaveAttribute(name: string, value?: string) {\n const el = assertElement(actual);\n if (!el.hasAttribute(name)) {\n throw new Error(`Expected element to have attribute \"${name}\"`);\n }\n if (value !== undefined && el.getAttribute(name) !== value) {\n throw new Error(\n `Expected attribute \"${name}\" to be ${JSON.stringify(value)}, got ${JSON.stringify(el.getAttribute(name))}`\n );\n }\n },\n\n // .not variants\n not: {\n toBe(expected: T) {\n if (actual === expected) {\n throw new Error(`Expected value NOT to be ${JSON.stringify(expected)}`);\n }\n },\n toEqual(expected: T) {\n if (JSON.stringify(actual) === JSON.stringify(expected)) {\n throw new Error(`Expected value NOT to equal ${JSON.stringify(expected)}`);\n }\n },\n toContain(sub: string) {\n if (String(actual).includes(sub)) {\n throw new Error(`Expected \"${String(actual)}\" NOT to contain \"${sub}\"`);\n }\n },\n toBeNull() {\n if (actual === null) throw new Error(\"Expected value NOT to be null\");\n },\n toExist() {\n if (actual != null) throw new Error(`Expected value NOT to exist, got ${String(actual)}`);\n },\n toBeChecked() {\n const el = assertElement(actual);\n if (el instanceof HTMLInputElement && el.checked) {\n throw new Error(\"Expected element NOT to be checked\");\n }\n },\n toBeDisabled() {\n const el = assertElement(actual);\n if (el.hasAttribute(\"disabled\") || el.getAttribute(\"aria-disabled\") === \"true\") {\n throw new Error(\"Expected element NOT to be disabled\");\n }\n },\n toHaveAttribute(name: string) {\n const el = assertElement(actual);\n if (el.hasAttribute(name)) {\n throw new Error(`Expected element NOT to have attribute \"${name}\"`);\n }\n },\n },\n };\n}\n\n/**\n * Flush microtasks and pending DOM updates. Call after signal assignments\n * or render calls to give the reactive system and the browser a chance to\n * settle before asserting on the result.\n */\nexport function flush(ms = 50): Promise<void> {\n return new Promise((r) => setTimeout(r, ms));\n}\n\n/**\n * Clear a container's rendered content. Call at the end of each test to\n * prevent state leaking between tests. If you use Preact's render(), pass\n * the same container; the function calls render(null, container) if Preact\n * is available, otherwise sets innerHTML to \"\".\n */\nexport function cleanup(container: Element): void {\n container.innerHTML = \"\";\n}\n\n/**\n * Run all registered tests and report the tally to the Node-side runner.\n *\n * The runner injects `window.__pollyReport` (via Puppeteer's\n * `page.exposeFunction`) before navigating, so reporting is a single\n * push from the page to the runner — no polling, no waiting on a long-\n * running CDP call from the Node side. Polled `page.evaluate` was the\n * root cause of the intermittent `Runtime.callFunctionOn` stalls\n * tracked in polly#138.\n *\n * Call this at the end of every .browser.ts test file.\n */\nexport async function done(): Promise<void> {\n for (const suite of suites) {\n for (const t of suite.tests) {\n const fullName = `${suite.name} > ${t.name}`;\n try {\n await t.fn();\n results.push({ name: fullName, passed: true });\n } catch (err) {\n results.push({\n name: fullName,\n passed: false,\n error: err instanceof Error ? err.message : String(err),\n });\n }\n }\n }\n\n const report = (window as unknown as Record<string, unknown>)[\"__pollyReport\"];\n if (!isReportFunction(report)) {\n throw new Error(\n \"harness.done(): window.__pollyReport is not defined. \" +\n \"This harness must be driven by the Polly browser test runner.\"\n );\n }\n report(results);\n}\n\n/** The runner injects `window.__pollyReport`; all we can check is callability. */\nfunction isReportFunction(value: unknown): value is (r: TestResult[]) => void {\n return typeof value === \"function\";\n}\n\n/**\n * Wait until a predicate returns true, polling every intervalMs. Rejects\n * after timeoutMs.\n */\nexport async function waitFor(\n predicate: () => boolean | Promise<boolean>,\n timeoutMs = 5000,\n intervalMs = 25\n): Promise<void> {\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n if (await predicate()) return;\n await new Promise((r) => setTimeout(r, intervalMs));\n }\n throw new Error(`waitFor timed out after ${timeoutMs}ms`);\n}\n"
|
|
5
|
+
"/**\n * Browser-side test harness for Polly applications.\n *\n * Provides describe/test/expect/done that run inside a Puppeteer-launched\n * browser tab and record results on window.__testResults for the Node-side\n * runner to collect. Matchers cover both value assertions and DOM element\n * assertions so that Preact component tests and WebRTC adapter tests use\n * the same harness.\n *\n * @example\n * ```typescript\n * import { describe, test, expect, done, flush, cleanup } from \"@fairfox/polly/test/browser\";\n *\n * const app = document.getElementById(\"app\")!;\n *\n * describe(\"my feature\", () => {\n * test(\"renders correctly\", async () => {\n * render(<MyComponent />, app);\n * await flush();\n * expect(app.querySelector(\"h1\")).toHaveTextContent(\"Hello\");\n * cleanup(app);\n * });\n * });\n *\n * done();\n * ```\n */\n\nimport type { ProgressEvent } from \"./runner-core.ts\";\n\ninterface TestResult {\n name: string;\n passed: boolean;\n error?: string;\n}\n\n/**\n * Push one progress event to the runner, if it is listening.\n *\n * The runner binds `window.__pollyProgress` next to `__pollyReport`. Older\n * runners bind only the latter, so a missing binding is not an error — the\n * suite just runs silently, as it always did.\n */\nfunction reportProgress(event: ProgressEvent): void {\n const fn = (window as unknown as Record<string, unknown>)[\"__pollyProgress\"];\n if (typeof fn === \"function\") {\n (fn as (e: ProgressEvent) => void)(event);\n }\n}\n\nconst results: TestResult[] = [];\nconst suites: Array<{\n name: string;\n tests: Array<{ name: string; fn: () => Promise<void> | void }>;\n}> = [];\n\nexport function describe(name: string, fn: () => void): void {\n suites.push({ name, tests: [] });\n fn();\n}\n\nexport function test(name: string, fn: () => Promise<void> | void): void {\n const suite = suites[suites.length - 1];\n if (suite) {\n suite.tests.push({ name, fn });\n }\n}\n\nfunction assertElement(value: unknown): Element {\n if (!(value instanceof Element)) {\n throw new Error(`Expected an Element, got ${typeof value}: ${String(value)}`);\n }\n return value;\n}\n\nexport function expect<T>(actual: T) {\n return {\n // Value matchers\n toBe(expected: T) {\n if (actual !== expected) {\n throw new Error(`Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);\n }\n },\n toEqual(expected: T) {\n if (JSON.stringify(actual) !== JSON.stringify(expected)) {\n throw new Error(`Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);\n }\n },\n toContain(sub: string) {\n if (!String(actual).includes(sub)) {\n throw new Error(`Expected \"${String(actual)}\" to contain \"${sub}\"`);\n }\n },\n toBeTruthy() {\n if (!actual) throw new Error(`Expected truthy, got ${String(actual)}`);\n },\n toBeFalsy() {\n if (actual) throw new Error(`Expected falsy, got ${String(actual)}`);\n },\n toBeNull() {\n if (actual !== null) throw new Error(`Expected null, got ${String(actual)}`);\n },\n toBeDefined() {\n if (actual === undefined || actual === null) {\n throw new Error(`Expected value to be defined, got ${String(actual)}`);\n }\n },\n toBeUndefined() {\n if (actual !== undefined) {\n throw new Error(`Expected undefined, got ${JSON.stringify(actual)}`);\n }\n },\n toBeGreaterThan(expected: number) {\n if (typeof actual !== \"number\" || actual <= expected) {\n throw new Error(`Expected ${String(actual)} to be greater than ${expected}`);\n }\n },\n toHaveLength(expected: number) {\n const obj = actual;\n const len = obj && typeof obj === \"object\" && \"length\" in obj ? Number(obj.length) : -1;\n if (len !== expected) throw new Error(`Expected length ${expected}, got ${len}`);\n },\n toExist() {\n if (actual == null) throw new Error(`Expected value to exist, got ${String(actual)}`);\n },\n\n // DOM element matchers\n toHaveTextContent(expected: string) {\n const el = assertElement(actual);\n if (!el.textContent?.includes(expected)) {\n throw new Error(\n `Expected text content to include ${JSON.stringify(expected)}, got ${JSON.stringify(el.textContent)}`\n );\n }\n },\n toBeChecked() {\n const el = assertElement(actual);\n if (!(el instanceof HTMLInputElement) || !el.checked) {\n throw new Error(\"Expected element to be checked\");\n }\n },\n toBeDisabled() {\n const el = assertElement(actual);\n if (!el.hasAttribute(\"disabled\") && el.getAttribute(\"aria-disabled\") !== \"true\") {\n throw new Error(\"Expected element to be disabled\");\n }\n },\n toHaveValue(expected: string) {\n const el = assertElement(actual);\n const inputEl =\n el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement ? el : null;\n if (!inputEl || inputEl.value !== expected) {\n throw new Error(\n `Expected value ${JSON.stringify(expected)}, got ${JSON.stringify(inputEl?.value ?? \"(not an input)\")}`\n );\n }\n },\n toHaveAttribute(name: string, value?: string) {\n const el = assertElement(actual);\n if (!el.hasAttribute(name)) {\n throw new Error(`Expected element to have attribute \"${name}\"`);\n }\n if (value !== undefined && el.getAttribute(name) !== value) {\n throw new Error(\n `Expected attribute \"${name}\" to be ${JSON.stringify(value)}, got ${JSON.stringify(el.getAttribute(name))}`\n );\n }\n },\n\n // .not variants\n not: {\n toBe(expected: T) {\n if (actual === expected) {\n throw new Error(`Expected value NOT to be ${JSON.stringify(expected)}`);\n }\n },\n toEqual(expected: T) {\n if (JSON.stringify(actual) === JSON.stringify(expected)) {\n throw new Error(`Expected value NOT to equal ${JSON.stringify(expected)}`);\n }\n },\n toContain(sub: string) {\n if (String(actual).includes(sub)) {\n throw new Error(`Expected \"${String(actual)}\" NOT to contain \"${sub}\"`);\n }\n },\n toBeNull() {\n if (actual === null) throw new Error(\"Expected value NOT to be null\");\n },\n toExist() {\n if (actual != null) throw new Error(`Expected value NOT to exist, got ${String(actual)}`);\n },\n toBeChecked() {\n const el = assertElement(actual);\n if (el instanceof HTMLInputElement && el.checked) {\n throw new Error(\"Expected element NOT to be checked\");\n }\n },\n toBeDisabled() {\n const el = assertElement(actual);\n if (el.hasAttribute(\"disabled\") || el.getAttribute(\"aria-disabled\") === \"true\") {\n throw new Error(\"Expected element NOT to be disabled\");\n }\n },\n toHaveAttribute(name: string) {\n const el = assertElement(actual);\n if (el.hasAttribute(name)) {\n throw new Error(`Expected element NOT to have attribute \"${name}\"`);\n }\n },\n },\n };\n}\n\n/**\n * Flush microtasks and pending DOM updates. Call after signal assignments\n * or render calls to give the reactive system and the browser a chance to\n * settle before asserting on the result.\n */\nexport function flush(ms = 50): Promise<void> {\n return new Promise((r) => setTimeout(r, ms));\n}\n\n/**\n * Clear a container's rendered content. Call at the end of each test to\n * prevent state leaking between tests. If you use Preact's render(), pass\n * the same container; the function calls render(null, container) if Preact\n * is available, otherwise sets innerHTML to \"\".\n */\nexport function cleanup(container: Element): void {\n container.innerHTML = \"\";\n}\n\n/**\n * Run all registered tests and report the tally to the Node-side runner.\n *\n * The runner injects `window.__pollyReport` (via Puppeteer's\n * `page.exposeFunction`) before navigating, so reporting is a single\n * push from the page to the runner — no polling, no waiting on a long-\n * running CDP call from the Node side. Polled `page.evaluate` was the\n * root cause of the intermittent `Runtime.callFunctionOn` stalls\n * tracked in polly#138.\n *\n * Call this at the end of every .browser.ts test file.\n */\nexport async function done(): Promise<void> {\n // Announce the plan before running anything. A page that stops part-way —\n // a runaway loop, an unsettled promise — has then already told the runner\n // how many tests it owed, so the stalled file reports how many never ran\n // instead of counting as a single failure (polly#177).\n reportProgress({ kind: \"plan\", total: suites.reduce((n, s) => n + s.tests.length, 0) });\n\n for (const suite of suites) {\n for (const t of suite.tests) {\n const fullName = `${suite.name} > ${t.name}`;\n reportProgress({ kind: \"start\", name: fullName });\n let result: TestResult;\n try {\n await t.fn();\n result = { name: fullName, passed: true };\n } catch (err) {\n result = {\n name: fullName,\n passed: false,\n error: err instanceof Error ? err.message : String(err),\n };\n }\n results.push(result);\n reportProgress({ kind: \"result\", ...result });\n }\n }\n\n const report = (window as unknown as Record<string, unknown>)[\"__pollyReport\"];\n if (!isReportFunction(report)) {\n throw new Error(\n \"harness.done(): window.__pollyReport is not defined. \" +\n \"This harness must be driven by the Polly browser test runner.\"\n );\n }\n report(results);\n}\n\n/** The runner injects `window.__pollyReport`; all we can check is callability. */\nfunction isReportFunction(value: unknown): value is (r: TestResult[]) => void {\n return typeof value === \"function\";\n}\n\n/**\n * Wait until a predicate returns true, polling every intervalMs. Rejects\n * after timeoutMs.\n */\nexport async function waitFor(\n predicate: () => boolean | Promise<boolean>,\n timeoutMs = 5000,\n intervalMs = 25\n): Promise<void> {\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n if (await predicate()) return;\n await new Promise((r) => setTimeout(r, intervalMs));\n }\n throw new Error(`waitFor timed out after ${timeoutMs}ms`);\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,SAAS,cAAc,CAAC,OAA4B;AAAA,EAClD,MAAM,KAAM,OAA8C;AAAA,EAC1D,IAAI,OAAO,OAAO,YAAY;AAAA,IAC3B,GAAkC,KAAK;AAAA,EAC1C;AAAA;AAGF,IAAM,UAAwB,CAAC;AAC/B,IAAM,SAGD,CAAC;AAEC,SAAS,QAAQ,CAAC,MAAc,IAAsB;AAAA,EAC3D,OAAO,KAAK,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAAA,EAC/B,GAAG;AAAA;AAGE,SAAS,IAAI,CAAC,MAAc,IAAsC;AAAA,EACvE,MAAM,QAAQ,OAAO,OAAO,SAAS;AAAA,EACrC,IAAI,OAAO;AAAA,IACT,MAAM,MAAM,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,EAC/B;AAAA;AAGF,SAAS,aAAa,CAAC,OAAyB;AAAA,EAC9C,IAAI,EAAE,iBAAiB,UAAU;AAAA,IAC/B,MAAM,IAAI,MAAM,4BAA4B,OAAO,UAAU,OAAO,KAAK,GAAG;AAAA,EAC9E;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,MAAS,CAAC,QAAW;AAAA,EACnC,OAAO;AAAA,IAEL,IAAI,CAAC,UAAa;AAAA,MAChB,IAAI,WAAW,UAAU;AAAA,QACvB,MAAM,IAAI,MAAM,YAAY,KAAK,UAAU,QAAQ,UAAU,KAAK,UAAU,MAAM,GAAG;AAAA,MACvF;AAAA;AAAA,IAEF,OAAO,CAAC,UAAa;AAAA,MACnB,IAAI,KAAK,UAAU,MAAM,MAAM,KAAK,UAAU,QAAQ,GAAG;AAAA,QACvD,MAAM,IAAI,MAAM,YAAY,KAAK,UAAU,QAAQ,UAAU,KAAK,UAAU,MAAM,GAAG;AAAA,MACvF;AAAA;AAAA,IAEF,SAAS,CAAC,KAAa;AAAA,MACrB,IAAI,CAAC,OAAO,MAAM,EAAE,SAAS,GAAG,GAAG;AAAA,QACjC,MAAM,IAAI,MAAM,aAAa,OAAO,MAAM,kBAAkB,MAAM;AAAA,MACpE;AAAA;AAAA,IAEF,UAAU,GAAG;AAAA,MACX,IAAI,CAAC;AAAA,QAAQ,MAAM,IAAI,MAAM,wBAAwB,OAAO,MAAM,GAAG;AAAA;AAAA,IAEvE,SAAS,GAAG;AAAA,MACV,IAAI;AAAA,QAAQ,MAAM,IAAI,MAAM,uBAAuB,OAAO,MAAM,GAAG;AAAA;AAAA,IAErE,QAAQ,GAAG;AAAA,MACT,IAAI,WAAW;AAAA,QAAM,MAAM,IAAI,MAAM,sBAAsB,OAAO,MAAM,GAAG;AAAA;AAAA,IAE7E,WAAW,GAAG;AAAA,MACZ,IAAI,WAAW,aAAa,WAAW,MAAM;AAAA,QAC3C,MAAM,IAAI,MAAM,qCAAqC,OAAO,MAAM,GAAG;AAAA,MACvE;AAAA;AAAA,IAEF,aAAa,GAAG;AAAA,MACd,IAAI,WAAW,WAAW;AAAA,QACxB,MAAM,IAAI,MAAM,2BAA2B,KAAK,UAAU,MAAM,GAAG;AAAA,MACrE;AAAA;AAAA,IAEF,eAAe,CAAC,UAAkB;AAAA,MAChC,IAAI,OAAO,WAAW,YAAY,UAAU,UAAU;AAAA,QACpD,MAAM,IAAI,MAAM,YAAY,OAAO,MAAM,wBAAwB,UAAU;AAAA,MAC7E;AAAA;AAAA,IAEF,YAAY,CAAC,UAAkB;AAAA,MAC7B,MAAM,MAAM;AAAA,MACZ,MAAM,MAAM,OAAO,OAAO,QAAQ,YAAY,YAAY,MAAM,OAAO,IAAI,MAAM,IAAI;AAAA,MACrF,IAAI,QAAQ;AAAA,QAAU,MAAM,IAAI,MAAM,mBAAmB,iBAAiB,KAAK;AAAA;AAAA,IAEjF,OAAO,GAAG;AAAA,MACR,IAAI,UAAU;AAAA,QAAM,MAAM,IAAI,MAAM,gCAAgC,OAAO,MAAM,GAAG;AAAA;AAAA,IAItF,iBAAiB,CAAC,UAAkB;AAAA,MAClC,MAAM,KAAK,cAAc,MAAM;AAAA,MAC/B,IAAI,CAAC,GAAG,aAAa,SAAS,QAAQ,GAAG;AAAA,QACvC,MAAM,IAAI,MACR,oCAAoC,KAAK,UAAU,QAAQ,UAAU,KAAK,UAAU,GAAG,WAAW,GACpG;AAAA,MACF;AAAA;AAAA,IAEF,WAAW,GAAG;AAAA,MACZ,MAAM,KAAK,cAAc,MAAM;AAAA,MAC/B,IAAI,EAAE,cAAc,qBAAqB,CAAC,GAAG,SAAS;AAAA,QACpD,MAAM,IAAI,MAAM,gCAAgC;AAAA,MAClD;AAAA;AAAA,IAEF,YAAY,GAAG;AAAA,MACb,MAAM,KAAK,cAAc,MAAM;AAAA,MAC/B,IAAI,CAAC,GAAG,aAAa,UAAU,KAAK,GAAG,aAAa,eAAe,MAAM,QAAQ;AAAA,QAC/E,MAAM,IAAI,MAAM,iCAAiC;AAAA,MACnD;AAAA;AAAA,IAEF,WAAW,CAAC,UAAkB;AAAA,MAC5B,MAAM,KAAK,cAAc,MAAM;AAAA,MAC/B,MAAM,UACJ,cAAc,oBAAoB,cAAc,sBAAsB,KAAK;AAAA,MAC7E,IAAI,CAAC,WAAW,QAAQ,UAAU,UAAU;AAAA,QAC1C,MAAM,IAAI,MACR,kBAAkB,KAAK,UAAU,QAAQ,UAAU,KAAK,UAAU,SAAS,SAAS,gBAAgB,GACtG;AAAA,MACF;AAAA;AAAA,IAEF,eAAe,CAAC,MAAc,OAAgB;AAAA,MAC5C,MAAM,KAAK,cAAc,MAAM;AAAA,MAC/B,IAAI,CAAC,GAAG,aAAa,IAAI,GAAG;AAAA,QAC1B,MAAM,IAAI,MAAM,uCAAuC,OAAO;AAAA,MAChE;AAAA,MACA,IAAI,UAAU,aAAa,GAAG,aAAa,IAAI,MAAM,OAAO;AAAA,QAC1D,MAAM,IAAI,MACR,uBAAuB,eAAe,KAAK,UAAU,KAAK,UAAU,KAAK,UAAU,GAAG,aAAa,IAAI,CAAC,GAC1G;AAAA,MACF;AAAA;AAAA,IAIF,KAAK;AAAA,MACH,IAAI,CAAC,UAAa;AAAA,QAChB,IAAI,WAAW,UAAU;AAAA,UACvB,MAAM,IAAI,MAAM,4BAA4B,KAAK,UAAU,QAAQ,GAAG;AAAA,QACxE;AAAA;AAAA,MAEF,OAAO,CAAC,UAAa;AAAA,QACnB,IAAI,KAAK,UAAU,MAAM,MAAM,KAAK,UAAU,QAAQ,GAAG;AAAA,UACvD,MAAM,IAAI,MAAM,+BAA+B,KAAK,UAAU,QAAQ,GAAG;AAAA,QAC3E;AAAA;AAAA,MAEF,SAAS,CAAC,KAAa;AAAA,QACrB,IAAI,OAAO,MAAM,EAAE,SAAS,GAAG,GAAG;AAAA,UAChC,MAAM,IAAI,MAAM,aAAa,OAAO,MAAM,sBAAsB,MAAM;AAAA,QACxE;AAAA;AAAA,MAEF,QAAQ,GAAG;AAAA,QACT,IAAI,WAAW;AAAA,UAAM,MAAM,IAAI,MAAM,+BAA+B;AAAA;AAAA,MAEtE,OAAO,GAAG;AAAA,QACR,IAAI,UAAU;AAAA,UAAM,MAAM,IAAI,MAAM,oCAAoC,OAAO,MAAM,GAAG;AAAA;AAAA,MAE1F,WAAW,GAAG;AAAA,QACZ,MAAM,KAAK,cAAc,MAAM;AAAA,QAC/B,IAAI,cAAc,oBAAoB,GAAG,SAAS;AAAA,UAChD,MAAM,IAAI,MAAM,oCAAoC;AAAA,QACtD;AAAA;AAAA,MAEF,YAAY,GAAG;AAAA,QACb,MAAM,KAAK,cAAc,MAAM;AAAA,QAC/B,IAAI,GAAG,aAAa,UAAU,KAAK,GAAG,aAAa,eAAe,MAAM,QAAQ;AAAA,UAC9E,MAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAAA;AAAA,MAEF,eAAe,CAAC,MAAc;AAAA,QAC5B,MAAM,KAAK,cAAc,MAAM;AAAA,QAC/B,IAAI,GAAG,aAAa,IAAI,GAAG;AAAA,UACzB,MAAM,IAAI,MAAM,2CAA2C,OAAO;AAAA,QACpE;AAAA;AAAA,IAEJ;AAAA,EACF;AAAA;AAQK,SAAS,KAAK,CAAC,KAAK,IAAmB;AAAA,EAC5C,OAAO,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAAA;AAStC,SAAS,OAAO,CAAC,WAA0B;AAAA,EAChD,UAAU,YAAY;AAAA;AAexB,eAAsB,IAAI,GAAkB;AAAA,EAK1C,eAAe,EAAE,MAAM,QAAQ,OAAO,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,QAAQ,CAAC,EAAE,CAAC;AAAA,EAEtF,WAAW,SAAS,QAAQ;AAAA,IAC1B,WAAW,KAAK,MAAM,OAAO;AAAA,MAC3B,MAAM,WAAW,GAAG,MAAM,UAAU,EAAE;AAAA,MACtC,eAAe,EAAE,MAAM,SAAS,MAAM,SAAS,CAAC;AAAA,MAChD,IAAI;AAAA,MACJ,IAAI;AAAA,QACF,MAAM,EAAE,GAAG;AAAA,QACX,SAAS,EAAE,MAAM,UAAU,QAAQ,KAAK;AAAA,QACxC,OAAO,KAAK;AAAA,QACZ,SAAS;AAAA,UACP,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,QACxD;AAAA;AAAA,MAEF,QAAQ,KAAK,MAAM;AAAA,MACnB,eAAe,EAAE,MAAM,aAAa,OAAO,CAAC;AAAA,IAC9C;AAAA,EACF;AAAA,EAEA,MAAM,SAAU,OAA8C;AAAA,EAC9D,IAAI,CAAC,iBAAiB,MAAM,GAAG;AAAA,IAC7B,MAAM,IAAI,MACR,0DACE,+DACJ;AAAA,EACF;AAAA,EACA,OAAO,OAAO;AAAA;AAIhB,SAAS,gBAAgB,CAAC,OAAoD;AAAA,EAC5E,OAAO,OAAO,UAAU;AAAA;AAO1B,eAAsB,OAAO,CAC3B,WACA,YAAY,MACZ,aAAa,IACE;AAAA,EACf,MAAM,WAAW,KAAK,IAAI,IAAI;AAAA,EAC9B,OAAO,KAAK,IAAI,IAAI,UAAU;AAAA,IAC5B,IAAI,MAAM,UAAU;AAAA,MAAG;AAAA,IACvB,MAAM,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAAA,EACpD;AAAA,EACA,MAAM,IAAI,MAAM,2BAA2B,aAAa;AAAA;",
|
|
8
|
+
"debugId": "B042476A041C912A64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -4,9 +4,16 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Finds all *.browser.ts files in a given directory, bundles each with
|
|
6
6
|
* Bun.build for the browser target (with an internal Automerge WASM fix),
|
|
7
|
-
* serves the bundle on an ephemeral port, opens a Puppeteer page
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* serves the bundle on an ephemeral port, and opens a Puppeteer page in its
|
|
8
|
+
* own browser context. The page pushes its results back through bindings the
|
|
9
|
+
* runner exposes (`__pollyReport` for the final tally, `__pollyProgress` per
|
|
10
|
+
* test). Prints pass/fail per test and exits non-zero if any test failed.
|
|
11
|
+
*
|
|
12
|
+
* A file that stops reporting is diagnosed rather than merely timed out: the
|
|
13
|
+
* runner asks the page whether its main thread is still free, so a runaway
|
|
14
|
+
* loop in the code under test reads differently from a suite that never
|
|
15
|
+
* finished, and the tests that never ran are counted (polly#177). Set
|
|
16
|
+
* POLLY_BROWSER_STACK=1 to also print the stack a wedged page is executing.
|
|
10
17
|
*
|
|
11
18
|
* A signalling server for WebRTC tests starts automatically on a random
|
|
12
19
|
* port. The URL is injected into the bundle via process.env.SIGNALING_URL.
|