@fairfox/polly 0.88.1 → 0.89.1
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/cli/polly.js +4 -4
- package/dist/cli/polly.js.map +2 -2
- package/dist/gallery/gallery.css +53 -59
- package/dist/gallery/gallery.js +1240 -1073
- package/dist/src/actions/index.js +5 -78
- package/dist/src/actions/index.js.map +2 -2
- package/dist/src/background/index.js +126 -152
- package/dist/src/background/index.js.map +4 -4
- package/dist/src/background/message-router.js +126 -152
- package/dist/src/background/message-router.js.map +4 -4
- package/dist/src/client/index.js +186 -259
- package/dist/src/client/index.js.map +5 -5
- package/dist/src/elysia/index.js +21 -35
- package/dist/src/elysia/index.js.map +2 -2
- package/dist/src/index.js +218 -246
- package/dist/src/index.js.map +10 -10
- package/dist/src/mesh.js +49 -61
- package/dist/src/mesh.js.map +4 -4
- package/dist/src/peer.js +23 -52
- package/dist/src/peer.js.map +2 -2
- package/dist/src/polly-ui/ActionSelect.d.ts +4 -0
- package/dist/src/polly-ui/Button.d.ts +7 -0
- package/dist/src/polly-ui/Collapsible.d.ts +3 -1
- package/dist/src/polly-ui/Layout.d.ts +16 -1
- package/dist/src/polly-ui/index.css +49 -59
- package/dist/src/polly-ui/index.js +227 -237
- package/dist/src/polly-ui/index.js.map +16 -15
- package/dist/src/polly-ui/internal/select-trigger.d.ts +33 -0
- package/dist/src/polly-ui/markdown.js +72 -145
- package/dist/src/polly-ui/markdown.js.map +2 -2
- package/dist/src/polly-ui/styles.css +49 -59
- package/dist/src/polly-ui/theme.css +10 -0
- package/dist/src/shared/adapters/index.js +31 -44
- package/dist/src/shared/adapters/index.js.map +2 -2
- package/dist/src/shared/lib/context-helpers.js +126 -152
- package/dist/src/shared/lib/context-helpers.js.map +4 -4
- package/dist/src/shared/lib/errors.js +1 -74
- package/dist/src/shared/lib/errors.js.map +2 -2
- package/dist/src/shared/lib/guards.js +1 -74
- package/dist/src/shared/lib/guards.js.map +2 -2
- package/dist/src/shared/lib/message-bus.js +126 -152
- package/dist/src/shared/lib/message-bus.js.map +4 -4
- package/dist/src/shared/lib/resource.js +16 -27
- package/dist/src/shared/lib/resource.js.map +5 -5
- package/dist/src/shared/lib/state.js +13 -26
- package/dist/src/shared/lib/state.js.map +2 -2
- package/dist/src/shared/lib/test-helpers.js +1 -74
- package/dist/src/shared/lib/test-helpers.js.map +2 -2
- package/dist/src/shared/state/app-state.js +35 -46
- package/dist/src/shared/state/app-state.js.map +5 -5
- package/dist/src/shared/types/messages.js +1 -74
- package/dist/src/shared/types/messages.js.map +2 -2
- package/dist/tools/bdd/src/cli.js +11 -15
- package/dist/tools/bdd/src/cli.js.map +2 -2
- package/dist/tools/bdd/src/index.js +11 -19
- package/dist/tools/bdd/src/index.js.map +2 -2
- package/dist/tools/gallery/src/cli.js +1 -18
- package/dist/tools/gallery/src/cli.js.map +2 -2
- package/dist/tools/init/src/cli.js +1 -18
- package/dist/tools/init/src/cli.js.map +2 -2
- package/dist/tools/mutate/src/cli.js +8 -25
- package/dist/tools/mutate/src/cli.js.map +2 -2
- package/dist/tools/mutate/src/index.js +8 -26
- package/dist/tools/mutate/src/index.js.map +2 -2
- package/dist/tools/quality/src/cli.js +39 -46
- package/dist/tools/quality/src/cli.js.map +3 -3
- package/dist/tools/quality/src/css/check-layout.d.ts +5 -3
- package/dist/tools/quality/src/index.js +39 -47
- package/dist/tools/quality/src/index.js.map +3 -3
- package/dist/tools/test/src/adapters/index.js +4 -77
- package/dist/tools/test/src/adapters/index.js.map +2 -2
- package/dist/tools/test/src/browser/index.js +1 -74
- package/dist/tools/test/src/browser/index.js.map +2 -2
- package/dist/tools/test/src/browser/run.js +5 -22
- package/dist/tools/test/src/browser/run.js.map +2 -2
- package/dist/tools/test/src/contrast/index.js +1 -74
- package/dist/tools/test/src/contrast/index.js.map +2 -2
- package/dist/tools/test/src/coverage-policy/cli.js +13 -25
- package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
- package/dist/tools/test/src/coverage-policy/index.js +11 -23
- package/dist/tools/test/src/coverage-policy/index.js.map +2 -2
- package/dist/tools/test/src/e2e-mesh/index.js +18 -43
- package/dist/tools/test/src/e2e-mesh/index.js.map +2 -2
- package/dist/tools/test/src/e2e-relay/index.js +615 -623
- package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
- package/dist/tools/test/src/index.js +30 -103
- package/dist/tools/test/src/index.js.map +5 -5
- package/dist/tools/test/src/test-utils.js +1 -74
- package/dist/tools/test/src/test-utils.js.map +2 -2
- package/dist/tools/test/src/tiers/cli.js +1 -18
- package/dist/tools/test/src/tiers/cli.js.map +2 -2
- package/dist/tools/test/src/tiers/worker.js +11 -15
- package/dist/tools/test/src/tiers/worker.js.map +2 -2
- package/dist/tools/test/src/visual/index.js +1112 -1134
- package/dist/tools/test/src/visual/index.js.map +3 -3
- package/dist/tools/verify/src/cli.js +103 -169
- package/dist/tools/verify/src/cli.js.map +2 -2
- package/dist/tools/verify/src/config.js +1 -74
- package/dist/tools/verify/src/config.js.map +2 -2
- package/dist/tools/verify/src/stryker/index.js +1 -19
- package/dist/tools/verify/src/stryker/index.js.map +2 -2
- package/dist/tools/visualize/src/cli.js +69 -85
- package/dist/tools/visualize/src/cli.js.map +2 -2
- package/package.json +1 -1
|
@@ -1,76 +1,3 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
-
for (let key of __getOwnPropNames(mod))
|
|
24
|
-
if (!__hasOwnProp.call(to, key))
|
|
25
|
-
__defProp(to, key, {
|
|
26
|
-
get: __accessProp.bind(mod, key),
|
|
27
|
-
enumerable: true
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (canCache)
|
|
31
|
-
cache.set(mod, to);
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
|
-
var __toCommonJS = (from) => {
|
|
35
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
36
|
-
if (entry)
|
|
37
|
-
return entry;
|
|
38
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
39
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
40
|
-
for (var key of __getOwnPropNames(from))
|
|
41
|
-
if (!__hasOwnProp.call(entry, key))
|
|
42
|
-
__defProp(entry, key, {
|
|
43
|
-
get: __accessProp.bind(from, key),
|
|
44
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
__moduleCache.set(from, entry);
|
|
48
|
-
return entry;
|
|
49
|
-
};
|
|
50
|
-
var __moduleCache;
|
|
51
|
-
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
52
|
-
var __returnValue = (v) => v;
|
|
53
|
-
function __exportSetter(name, newValue) {
|
|
54
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
55
|
-
}
|
|
56
|
-
var __export = (target, all) => {
|
|
57
|
-
for (var name in all)
|
|
58
|
-
__defProp(target, name, {
|
|
59
|
-
get: all[name],
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
set: __exportSetter.bind(all, name)
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
66
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
67
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
68
|
-
}) : x)(function(x) {
|
|
69
|
-
if (typeof require !== "undefined")
|
|
70
|
-
return require.apply(this, arguments);
|
|
71
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
72
|
-
});
|
|
73
|
-
|
|
74
1
|
// tools/test/src/adapters/context-menus.mock.ts
|
|
75
2
|
function createMockContextMenus() {
|
|
76
3
|
const menus = new Map;
|
|
@@ -288,13 +215,13 @@ function createMockStorageArea() {
|
|
|
288
215
|
return data.has(keys) ? { [keys]: data.get(keys) } : {};
|
|
289
216
|
}
|
|
290
217
|
if (Array.isArray(keys)) {
|
|
291
|
-
const
|
|
218
|
+
const result = {};
|
|
292
219
|
for (const key of keys) {
|
|
293
220
|
if (data.has(key)) {
|
|
294
|
-
|
|
221
|
+
result[key] = data.get(key);
|
|
295
222
|
}
|
|
296
223
|
}
|
|
297
|
-
return
|
|
224
|
+
return result;
|
|
298
225
|
}
|
|
299
226
|
const result = {};
|
|
300
227
|
for (const [key, defaultValue] of Object.entries(keys)) {
|
|
@@ -445,4 +372,4 @@ export {
|
|
|
445
372
|
createMockWindow
|
|
446
373
|
};
|
|
447
374
|
|
|
448
|
-
//# debugId=
|
|
375
|
+
//# debugId=5104C53AD7A2320564756E2164756E21
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"import type { WindowAdapter } from \"@/shared/adapters/window.adapter\";\n\nexport interface MockWindow extends WindowAdapter {\n _messageListeners: Set<(event: MessageEvent) => void>;\n}\n\nexport function createMockWindow(): MockWindow {\n const messageListeners = new Set<(event: MessageEvent) => void>();\n\n return {\n postMessage: (message: unknown, targetOrigin: string) => {\n const event = new MessageEvent(\"message\", {\n data: message,\n origin: targetOrigin,\n source: null,\n });\n for (const listener of messageListeners) {\n listener(event);\n }\n },\n addEventListener: (type: string, listener: (event: MessageEvent) => void) => {\n if (type === \"message\") {\n messageListeners.add(listener);\n }\n },\n removeEventListener: (type: string, listener: (event: MessageEvent) => void) => {\n if (type === \"message\") {\n messageListeners.delete(listener);\n }\n },\n _messageListeners: messageListeners,\n };\n}\n",
|
|
13
13
|
"import { createMockContextMenus, type MockContextMenus } from \"./context-menus.mock\";\nimport { createMockFetch, type MockFetch } from \"./fetch.mock\";\nimport { createMockLogger, type MockLogger } from \"./logger.mock\";\nimport { createMockOffscreen, type MockOffscreen } from \"./offscreen.mock\";\nimport { createMockPort, createMockRuntime, type MockPort, type MockRuntime } from \"./runtime.mock\";\nimport { createMockStorageArea, type MockStorageArea } from \"./storage.mock\";\nimport { createMockTabs, type MockTabs } from \"./tabs.mock\";\nimport { createMockWindow, type MockWindow } from \"./window.mock\";\n\n/**\n * Mock adapters with full type information including mock-specific properties\n */\nexport interface MockExtensionAdapters {\n runtime: MockRuntime;\n storage: MockStorageArea;\n tabs: MockTabs;\n window: MockWindow;\n offscreen: MockOffscreen;\n contextMenus: MockContextMenus;\n fetch: MockFetch;\n logger: MockLogger;\n}\n\n/**\n * Convenience interface grouping Chrome-like mock APIs\n * Useful when tests need direct access to internal mock state\n */\nexport interface MockChrome {\n runtime: MockRuntime;\n storage: {\n local: MockStorageArea;\n };\n tabs: MockTabs;\n}\n\n/**\n * Create a mock Chrome object with grouped APIs\n * Use this when you need access to internal mock state (e.g., mockChrome.tabs._tabs)\n */\nexport function createMockChrome(): MockChrome {\n return {\n runtime: createMockRuntime(),\n storage: {\n local: createMockStorageArea(),\n },\n tabs: createMockTabs(),\n };\n}\n\n/**\n * Create a complete set of mock adapters for testing\n * Returns mock adapters with full type information\n */\nexport function createMockAdapters(): MockExtensionAdapters {\n return {\n runtime: createMockRuntime(),\n storage: createMockStorageArea(),\n tabs: createMockTabs(),\n window: createMockWindow(),\n offscreen: createMockOffscreen(),\n contextMenus: createMockContextMenus(),\n fetch: createMockFetch(),\n logger: createMockLogger({ silent: true }),\n };\n}\n\nexport type {\n MockContextMenus,\n MockFetch,\n MockLogger,\n MockOffscreen,\n MockPort,\n MockRuntime,\n MockStorageArea,\n MockTabs,\n MockWindow,\n};\n// Re-export individual mock factories and types for convenience\nexport {\n createMockContextMenus,\n createMockFetch,\n createMockLogger,\n createMockOffscreen,\n createMockPort,\n createMockRuntime,\n createMockStorageArea,\n createMockTabs,\n createMockWindow,\n};\n"
|
|
14
14
|
],
|
|
15
|
-
"mappings": "
|
|
16
|
-
"debugId": "
|
|
15
|
+
"mappings": "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",
|
|
16
|
+
"debugId": "5104C53AD7A2320564756E2164756E21",
|
|
17
17
|
"names": []
|
|
18
18
|
}
|
|
@@ -1,76 +1,3 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
-
for (let key of __getOwnPropNames(mod))
|
|
24
|
-
if (!__hasOwnProp.call(to, key))
|
|
25
|
-
__defProp(to, key, {
|
|
26
|
-
get: __accessProp.bind(mod, key),
|
|
27
|
-
enumerable: true
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (canCache)
|
|
31
|
-
cache.set(mod, to);
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
|
-
var __toCommonJS = (from) => {
|
|
35
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
36
|
-
if (entry)
|
|
37
|
-
return entry;
|
|
38
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
39
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
40
|
-
for (var key of __getOwnPropNames(from))
|
|
41
|
-
if (!__hasOwnProp.call(entry, key))
|
|
42
|
-
__defProp(entry, key, {
|
|
43
|
-
get: __accessProp.bind(from, key),
|
|
44
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
__moduleCache.set(from, entry);
|
|
48
|
-
return entry;
|
|
49
|
-
};
|
|
50
|
-
var __moduleCache;
|
|
51
|
-
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
52
|
-
var __returnValue = (v) => v;
|
|
53
|
-
function __exportSetter(name, newValue) {
|
|
54
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
55
|
-
}
|
|
56
|
-
var __export = (target, all) => {
|
|
57
|
-
for (var name in all)
|
|
58
|
-
__defProp(target, name, {
|
|
59
|
-
get: all[name],
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
set: __exportSetter.bind(all, name)
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
66
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
67
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
68
|
-
}) : x)(function(x) {
|
|
69
|
-
if (typeof require !== "undefined")
|
|
70
|
-
return require.apply(this, arguments);
|
|
71
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
72
|
-
});
|
|
73
|
-
|
|
74
1
|
// tools/test/src/browser/harness.ts
|
|
75
2
|
function reportProgress(event) {
|
|
76
3
|
const fn = window["__pollyProgress"];
|
|
@@ -284,4 +211,4 @@ export {
|
|
|
284
211
|
waitFor
|
|
285
212
|
};
|
|
286
213
|
|
|
287
|
-
//# debugId=
|
|
214
|
+
//# debugId=DB3F3BBFAB86764564756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
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": "DB3F3BBFAB86764564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __returnValue = (v) => v;
|
|
5
|
-
function __exportSetter(name, newValue) {
|
|
6
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
7
|
-
}
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, {
|
|
11
|
-
get: all[name],
|
|
12
|
-
enumerable: true,
|
|
13
|
-
configurable: true,
|
|
14
|
-
set: __exportSetter.bind(all, name)
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
18
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
19
2
|
|
|
20
3
|
// tools/test/src/browser/run.ts
|
|
21
4
|
import { resolve } from "node:path";
|
|
@@ -520,12 +503,12 @@ async function runFile(testFile) {
|
|
|
520
503
|
});
|
|
521
504
|
let reportResolve;
|
|
522
505
|
let reportReject;
|
|
523
|
-
const outcome = new Promise((
|
|
524
|
-
reportResolve =
|
|
506
|
+
const outcome = new Promise((resolve, reject) => {
|
|
507
|
+
reportResolve = resolve;
|
|
525
508
|
reportReject = reject;
|
|
526
509
|
});
|
|
527
|
-
await newPage.exposeFunction("__pollyReport", (
|
|
528
|
-
reportResolve(
|
|
510
|
+
await newPage.exposeFunction("__pollyReport", (results) => {
|
|
511
|
+
reportResolve(results);
|
|
529
512
|
});
|
|
530
513
|
const progress = emptyProgress();
|
|
531
514
|
await newPage.exposeFunction("__pollyProgress", (event) => {
|
|
@@ -598,4 +581,4 @@ console.log(`
|
|
|
598
581
|
[browser-runner] ${totalPassed} passed, ${totalFailed} failed`);
|
|
599
582
|
process.exit(totalFailed > 0 ? 1 : 0);
|
|
600
583
|
|
|
601
|
-
//# debugId=
|
|
584
|
+
//# debugId=F1A1BAA7F2996D4064756E2164756E21
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"/**\n * Suite orchestration for the browser test runner.\n *\n * Extracted from run.ts so the resilience guarantee — a failure in one\n * file never aborts the whole suite — is a pure function that can be\n * unit-tested without launching a browser. run.ts supplies the real\n * per-file `runFile`; the test suite supplies a fake one.\n */\n\n/** Pass/fail tally for one test file or for a whole suite. */\nexport interface FileTally {\n passed: number;\n failed: number;\n}\n\n/** One test's outcome, as the in-page harness reports it. */\nexport interface TestResult {\n name: string;\n passed: boolean;\n error?: string;\n}\n\n/**\n * What the page pushes to the runner as it works through a file.\n *\n * The final `__pollyReport` call carries the whole tally, but it never\n * arrives when the page stops running. These events arrive as the suite\n * goes, so a timed-out file can still say how far it got (polly#177).\n */\nexport type ProgressEvent =\n | { kind: \"plan\"; total: number }\n | { kind: \"start\"; name: string }\n | { kind: \"result\"; name: string; passed: boolean; error?: string };\n\n/** Everything the page managed to say before it went quiet. */\nexport interface SuiteProgress {\n /** Test count the page announced up front; absent if it never got that far. */\n planned?: number;\n /** Names of tests that began, in order. */\n started: string[];\n /** Outcomes of tests that finished. */\n completed: TestResult[];\n}\n\n/**\n * What the renderer was doing when the file timed out.\n *\n * - `looping` — the main thread never yielded, so JavaScript is still\n * running: a runaway loop in the code under test.\n * - `idle` — the page answers, so the thread is free; an awaited\n * promise never settled, or `done()` was never called.\n * - `unknown` — the state could not be probed (the page or the browser\n * had already gone).\n */\nexport type StallState = \"looping\" | \"idle\" | \"unknown\";\n\nexport function errMessage(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n\n/** Empty progress, for a file whose page said nothing at all. */\nexport function emptyProgress(): SuiteProgress {\n return { started: [], completed: [] };\n}\n\n/** Fold one page-pushed event into the accumulated progress. */\nexport function applyProgress(progress: SuiteProgress, event: ProgressEvent): void {\n if (event.kind === \"plan\") {\n progress.planned = event.total;\n return;\n }\n if (event.kind === \"start\") {\n progress.started.push(event.name);\n return;\n }\n progress.completed.push({ name: event.name, passed: event.passed, error: event.error });\n}\n\nfunction describeStall(state: StallState, timeoutMs: number): string {\n const prefix = `timed out after ${timeoutMs}ms`;\n if (state === \"looping\") {\n return `${prefix} — the page never yielded its main thread, so JavaScript is still running. That is a runaway loop in the code under test, not a stalled runner.`;\n }\n if (state === \"idle\") {\n return `${prefix} — the page still answers, so its main thread is free. The suite never called done(): an awaited promise never settled.`;\n }\n return `${prefix} — the page stopped reporting and its state could not be probed.`;\n}\n\n/**\n * Turn a timed-out file into a tally and the lines to print for it.\n *\n * A timed-out file used to count as a single failure, so the tests it held\n * vanished from the run's totals with no indication — a 9-test file that\n * stalled on its 4th test reported `1 failed` and the tier's count silently\n * lost 9 tests (polly#177). Every test the page announced is now accounted\n * for: the ones that finished keep their real outcome, and the ones that\n * never ran are counted as failures so the tier's total still matches the\n * number of tests in the files.\n */\nexport function summariseTimeout(\n progress: SuiteProgress,\n timeoutMs: number,\n state: StallState\n): { tally: FileTally; lines: string[] } {\n const passed = progress.completed.filter((r) => r.passed).length;\n const completedFailed = progress.completed.length - passed;\n const lines: string[] = [` ❌ ${describeStall(state, timeoutMs)}`];\n\n for (const r of progress.completed) {\n lines.push(r.passed ? ` ✅ ${r.name}` : ` ❌ ${r.name}: ${r.error}`);\n }\n\n const inFlight = progress.started[progress.completed.length];\n if (inFlight !== undefined) {\n lines.push(` ⏳ stalled in: ${inFlight}`);\n }\n\n if (progress.planned === undefined) {\n // The page never announced a plan, so there is no honest test count to\n // report. Fall back to the single-failure tally.\n lines.push(\" ⚠ the page never reported a test count — counting the file as one failure\");\n return { tally: { passed, failed: completedFailed + 1 }, lines };\n }\n\n const neverFinished = Math.max(progress.planned - progress.completed.length, 0);\n lines.push(\n ` ⚠ ${neverFinished} of ${progress.planned} tests never finished (${passed} passed, ${completedFailed} failed before the stall)`\n );\n // A plan that is fully accounted for still has to fail the file: the page\n // owed a report and never sent one.\n const failed = neverFinished === 0 ? completedFailed + 1 : completedFailed + neverFinished;\n return { tally: { passed, failed }, lines };\n}\n\n/**\n * Run every test file, isolating each file's failure.\n *\n * - Any thrown error from `runFile` fails only that file and is logged.\n * - A file that returns a tally with `failed > 0` (a genuine red test)\n * is reported as-is.\n *\n * The loop never rejects: a failure in one file can never abort the\n * suite, so the remaining files always execute and report.\n */\nexport async function runSuite(\n testFiles: string[],\n runFile: (testFile: string) => Promise<FileTally>,\n options: {\n label?: (testFile: string) => string;\n log?: (msg: string) => void;\n } = {}\n): Promise<FileTally> {\n const label = options.label ?? ((f) => f);\n const log = options.log ?? console.log;\n\n let totalPassed = 0;\n let totalFailed = 0;\n\n for (const testFile of testFiles) {\n log(`\\n[browser-runner] running ${label(testFile)}`);\n\n let result: FileTally;\n try {\n result = await runFile(testFile);\n } catch (err) {\n log(` ❌ ${errMessage(err)}`);\n result = { passed: 0, failed: 1 };\n }\n\n totalPassed += result.passed;\n totalFailed += result.failed;\n }\n\n return { passed: totalPassed, failed: totalFailed };\n}\n",
|
|
9
9
|
"/**\n * Minimal source-map lookup for the browser runner's stack reports.\n *\n * When a page wedges, the runner pauses it and prints the frames it was\n * executing. Those positions are in the served bundle, which is one long\n * generated file — \"(inline):199:4\" names the right line of the wrong file.\n * Resolving them through the bundle's own inline source map turns the report\n * into the position in the test or component the author wrote (polly#177).\n *\n * Only what that needs is implemented: decode `mappings`, and answer\n * \"which original position covers this generated one\". No names, no\n * `sourcesContent`, no index maps — Bun.build does not emit those here.\n */\n\nconst BASE64_ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n/** One decoded mapping segment: where a generated column comes from. */\ninterface Segment {\n generatedColumn: number;\n sourceIndex: number;\n sourceLine: number;\n sourceColumn: number;\n}\n\ninterface SourceMap {\n sources: string[];\n mappings: string;\n}\n\n/** Resolves a generated position to `source:line:column`, or undefined. */\nexport type SourceMapLookup = (line: number, column: number) => string | undefined;\n\n/** Decode one Base64 VLQ segment into its signed fields. */\nfunction decodeSegment(segment: string): number[] {\n const fields: number[] = [];\n let shift = 0;\n let value = 0;\n for (const char of segment) {\n const digit = BASE64_ALPHABET.indexOf(char);\n if (digit === -1) return [];\n const hasContinuation = (digit & 32) !== 0;\n value += (digit & 31) << shift;\n if (hasContinuation) {\n shift += 5;\n continue;\n }\n const negative = (value & 1) === 1;\n const magnitude = value >> 1;\n fields.push(negative ? -magnitude : magnitude);\n value = 0;\n shift = 0;\n }\n return fields;\n}\n\n/** Decode the whole `mappings` string into per-generated-line segments. */\nfunction decodeMappings(mappings: string): Segment[][] {\n const lines: Segment[][] = [];\n // The four fields are deltas carried across the entire map, not per line —\n // except the generated column, which resets on every line.\n let sourceIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n for (const lineText of mappings.split(\";\")) {\n const segments: Segment[] = [];\n let generatedColumn = 0;\n for (const segmentText of lineText.split(\",\")) {\n if (!segmentText) continue;\n const fields = decodeSegment(segmentText);\n const [columnDelta, sourceDelta, lineDelta, sourceColumnDelta] = fields;\n if (columnDelta === undefined) continue;\n generatedColumn += columnDelta;\n // A one-field segment marks generated code with no origin; skip it.\n if (sourceDelta === undefined || lineDelta === undefined || sourceColumnDelta === undefined) {\n continue;\n }\n sourceIndex += sourceDelta;\n sourceLine += lineDelta;\n sourceColumn += sourceColumnDelta;\n segments.push({ generatedColumn, sourceIndex, sourceLine, sourceColumn });\n }\n lines.push(segments);\n }\n return lines;\n}\n\n/** Pull the inline source map out of a bundle, if it carries one. */\nexport function parseInlineSourceMap(bundle: string): SourceMap | undefined {\n const match = bundle.match(\n /\\/\\/# sourceMappingURL=data:application\\/json;(?:charset=[^;]+;)?base64,([A-Za-z0-9+/=]+)/\n );\n const encoded = match?.[1];\n if (!encoded) return undefined;\n try {\n const parsed: unknown = JSON.parse(Buffer.from(encoded, \"base64\").toString(\"utf8\"));\n if (typeof parsed !== \"object\" || parsed === null) return undefined;\n const { sources, mappings } = parsed as { sources?: unknown; mappings?: unknown };\n if (!Array.isArray(sources) || typeof mappings !== \"string\") return undefined;\n return { sources: sources.map(String), mappings };\n } catch {\n return undefined;\n }\n}\n\n/**\n * Build a lookup over a bundle's inline source map.\n *\n * `lineOffset` is how many lines of wrapper HTML sit above the bundle in the\n * served document, since the debugger reports positions in the document, not\n * in the script. Returns undefined when the bundle carries no usable map, so\n * callers can fall back to the raw generated position.\n */\nexport function createSourceMapLookup(bundle: string, lineOffset = 0): SourceMapLookup | undefined {\n const map = parseInlineSourceMap(bundle);\n if (!map) return undefined;\n const lines = decodeMappings(map.mappings);\n\n return (line: number, column: number): string | undefined => {\n const generatedLine = line - lineOffset;\n if (generatedLine < 0) return undefined;\n const segments = lines[generatedLine];\n if (!segments || segments.length === 0) return undefined;\n // The last segment starting at or before the column owns that position.\n let best = segments[0];\n for (const segment of segments) {\n if (segment.generatedColumn > column) break;\n best = segment;\n }\n if (!best) return undefined;\n const source = map.sources[best.sourceIndex] ?? \"(unknown source)\";\n return `${source}:${best.sourceLine + 1}:${best.sourceColumn}`;\n };\n}\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAkCA;AACA;AACA,mBAAS;AACT;;;ACeA;AA2FO,SAAS,eAAe,CAAC,UAAkC,CAAC,GAAG;AAAA,EACpE,MAAM,OAAO,QAAQ,QAAQ;AAAA,EAC7B,MAAM,gBAAgB,QAAQ;AAAA,EAK9B,MAAM,cAAc,IAAI;AAAA,EAIxB,MAAM,eAAe,CAAC,QAA+C;AAAA,IACnE,IAAI;AAAA,MACF,OAAO,OAAO,QAAQ,WAAW,KAAK,MAAM,GAAG,IAAK;AAAA,MACpD,MAAM;AAAA,MACN;AAAA;AAAA;AAAA,EAIJ,MAAM,aAAa,CAAC,IAAa,WAAyB;AAAA,IACxD,MAAM,WAAW;AAAA,IAKjB,MAAM,aAAgF,CAAC;AAAA,IACvF,YAAY,gBAAgB,mBAAmB,aAAa;AAAA,MAC1D,IAAI,mBAAmB;AAAA,QAAQ;AAAA,MAC/B,WAAW,KAAK,EAAE,QAAQ,gBAAgB,QAAQ,eAAe,CAAC;AAAA,IACpE;AAAA,IACA,YAAY,IAAI,QAAQ,QAAQ;AAAA,IAChC,MAAM,aAAa;AAAA,IACnB,WAAW,KAAK,SAAS;AAAA,IAEzB,SAAS,KAAK;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM;AAAA,IACzC,CAAgC;AAAA,IAEhC,WAAW,aAAa,YAAY;AAAA,MAClC,IAAI;AAAA,QACF,UAAU,OAAO,KAAK,EAAE,MAAM,eAAe,OAAO,CAAgC;AAAA,QACpF,MAAM;AAAA,IAKV;AAAA;AAAA,EAGF,MAAM,oBAAoB,CAAC,IAAa,iBAA+B;AAAA,IACpE,GAAiD,KAAK;AAAA,MACrD,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,IACF,CAAgC;AAAA;AAAA,EAIlC,MAAM,iBAAiB,CAAC,iBAAuE;AAAA,IAC7F,MAAM,SAAS,YAAY,IAAI,YAAY;AAAA,IAC3C,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,MAAM,aAAc,OAA8C;AAAA,IAClE,MAAM,OAAO;AAAA,IACb,IAAI,eAAe,aAAa,eAAe,MAAM;AAAA,MACnD,YAAY,OAAO,YAAY;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,EAGT,MAAM,eAAe,CAAC,IAAa,QAA6D;AAAA,IAC9F,MAAM,aAAa;AAAA,IAInB,MAAM,WAAW,WAAW,KAAK;AAAA,IACjC,IAAI,CAAC,UAAU;AAAA,MACb,WAAW,KAAK,EAAE,MAAM,SAAS,QAAQ,aAAa,CAAgC;AAAA,MACtF;AAAA,IACF;AAAA,IACA,MAAM,SAAS,eAAe,IAAI,YAAY;AAAA,IAC9C,IAAI,CAAC,QAAQ;AAAA,MACX,kBAAkB,IAAI,IAAI,YAAY;AAAA,MACtC;AAAA,IACF;AAAA,IACA,MAAM,UAA4B;AAAA,MAChC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc,IAAI;AAAA,MAClB,SAAS,IAAI;AAAA,IACf;AAAA,IACA,IAAI;AAAA,MACF,OAAO,KAAK,OAAO;AAAA,MACnB,MAAM;AAAA,MACN,YAAY,OAAO,IAAI,YAAY;AAAA,MACnC,kBAAkB,IAAI,IAAI,YAAY;AAAA;AAAA;AAAA,EAI1C,OAAO,IAAI,OAAO,EAAE,GAAG,MAAM;AAAA,IAC3B,OAAO,CAAC,IAAI,KAAK;AAAA,MACf,MAAM,MAAM,aAAa,GAAG;AAAA,MAC5B,IAAI,CAAC,KAAK;AAAA,QACR,GAAG,KAAK,EAAE,MAAM,SAAS,QAAQ,YAAY,CAAgC;AAAA,QAC7E;AAAA,MACF;AAAA,MACA,IAAI,IAAI,SAAS,QAAQ;AAAA,QACvB,WAAW,IAAI,IAAI,MAAM;AAAA,QACzB;AAAA,MACF;AAAA,MACA,IAAI,IAAI,SAAS,UAAU;AAAA,QACzB,aAAa,IAAI,GAAG;AAAA,QACpB;AAAA,MACF;AAAA,MAKA,IAAI,kBAAkB,WAAW;AAAA,QAC/B,MAAM,aAAa;AAAA,QACnB,MAAM,WAAW,WAAW,KAAK;AAAA,QACjC,MAAM,SAAS,OAAO,aAAa,WAAW,WAAW;AAAA,QACzD,cAAc,YAAY,KAAwC,MAAM;AAAA,QACxE;AAAA,MACF;AAAA,MACA,GAAG,KAAK,EAAE,MAAM,SAAS,QAAQ,YAAY,CAAgC;AAAA;AAAA,IAG/E,KAAK,CAAC,IAAI;AAAA,MACR,MAAM,SAAU,GAAG,KAA4C;AAAA,MAG/D,IAAI,CAAC,QAAQ;AAAA,QAGX;AAAA,MACF;AAAA,MAOA,MAAM,SAAS,YAAY,IAAI,MAAM;AAAA,MACrC,MAAM,SAAU,GAAoD;AAAA,MACpE,MAAM,aAAc,QAChB;AAAA,MACJ,IAAI,WAAW,aAAa,eAAe,QAAQ;AAAA,QACjD;AAAA,MACF;AAAA,MACA,YAAY,OAAO,MAAM;AAAA,MACzB,YAAY,cAAc,oBAAoB,aAAa;AAAA,QACzD,IAAI;AAAA,UACF,gBAAgB,KAAK,EAAE,MAAM,aAAa,OAAO,CAAgC;AAAA,UACjF,MAAM;AAAA,MAGV;AAAA;AAAA,EAEJ,CAAC;AAAA;;;AClQI,SAAS,iBAAiB,CAAC,KAAsB;AAAA,EACtD,MAAM,OAAQ,IAAiC,QAAQ;AAAA,EACvD,IAAI,OAAO,SAAS,YAAY,QAAQ,GAAG;AAAA,IACzC,MAAM,IAAI,MACR,0DAA0D,OAAO,IAAI,SACnE,0DACJ;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;ACGF,SAAS,UAAU,CAAC,KAAsB;AAAA,EAC/C,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA;AAIjD,SAAS,aAAa,GAAkB;AAAA,EAC7C,OAAO,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,EAAE;AAAA;AAI/B,SAAS,aAAa,CAAC,UAAyB,OAA4B;AAAA,EACjF,IAAI,MAAM,SAAS,QAAQ;AAAA,IACzB,SAAS,UAAU,MAAM;AAAA,IACzB;AAAA,EACF;AAAA,EACA,IAAI,MAAM,SAAS,SAAS;AAAA,IAC1B,SAAS,QAAQ,KAAK,MAAM,IAAI;AAAA,IAChC;AAAA,EACF;AAAA,EACA,SAAS,UAAU,KAAK,EAAE,MAAM,MAAM,MAAM,QAAQ,MAAM,QAAQ,OAAO,MAAM,MAAM,CAAC;AAAA;AAGxF,SAAS,aAAa,CAAC,OAAmB,WAA2B;AAAA,EACnE,MAAM,SAAS,mBAAmB;AAAA,EAClC,IAAI,UAAU,WAAW;AAAA,IACvB,OAAO,GAAG;AAAA,EACZ;AAAA,EACA,IAAI,UAAU,QAAQ;AAAA,IACpB,OAAO,GAAG;AAAA,EACZ;AAAA,EACA,OAAO,GAAG;AAAA;AAcL,SAAS,gBAAgB,CAC9B,UACA,WACA,OACuC;AAAA,EACvC,MAAM,SAAS,SAAS,UAAU,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AAAA,EAC1D,MAAM,kBAAkB,SAAS,UAAU,SAAS;AAAA,EACpD,MAAM,QAAkB,CAAC,OAAO,cAAc,OAAO,SAAS,GAAG;AAAA,EAEjE,WAAW,KAAK,SAAS,WAAW;AAAA,IAClC,MAAM,KAAK,EAAE,SAAS,OAAO,EAAE,SAAS,OAAO,EAAE,SAAS,EAAE,OAAO;AAAA,EACrE;AAAA,EAEA,MAAM,WAAW,SAAS,QAAQ,SAAS,UAAU;AAAA,EACrD,IAAI,aAAa,WAAW;AAAA,IAC1B,MAAM,KAAK,mBAAmB,UAAU;AAAA,EAC1C;AAAA,EAEA,IAAI,SAAS,YAAY,WAAW;AAAA,IAGlC,MAAM,KAAK,6EAA6E;AAAA,IACxF,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,kBAAkB,EAAE,GAAG,MAAM;AAAA,EACjE;AAAA,EAEA,MAAM,gBAAgB,KAAK,IAAI,SAAS,UAAU,SAAS,UAAU,QAAQ,CAAC;AAAA,EAC9E,MAAM,KACJ,OAAO,oBAAoB,SAAS,iCAAiC,kBAAkB,0CACzF;AAAA,EAGA,MAAM,SAAS,kBAAkB,IAAI,kBAAkB,IAAI,kBAAkB;AAAA,EAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,OAAO,GAAG,MAAM;AAAA;AAa5C,eAAsB,QAAQ,CAC5B,WACA,SACA,UAGI,CAAC,GACe;AAAA,EACpB,MAAM,QAAQ,QAAQ,UAAU,CAAC,MAAM;AAAA,EACvC,MAAM,MAAM,QAAQ,OAAO,QAAQ;AAAA,EAEnC,IAAI,cAAc;AAAA,EAClB,IAAI,cAAc;AAAA,EAElB,WAAW,YAAY,WAAW;AAAA,IAChC,IAAI;AAAA,2BAA8B,MAAM,QAAQ,GAAG;AAAA,IAEnD,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,SAAS,MAAM,QAAQ,QAAQ;AAAA,MAC/B,OAAO,KAAK;AAAA,MACZ,IAAI,OAAO,WAAW,GAAG,GAAG;AAAA,MAC5B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE;AAAA;AAAA,IAGlC,eAAe,OAAO;AAAA,IACtB,eAAe,OAAO;AAAA,EACxB;AAAA,EAEA,OAAO,EAAE,QAAQ,aAAa,QAAQ,YAAY;AAAA;;;AChKpD,IAAM,kBAAkB;AAmBxB,SAAS,aAAa,CAAC,SAA2B;AAAA,EAChD,MAAM,SAAmB,CAAC;AAAA,EAC1B,IAAI,QAAQ;AAAA,EACZ,IAAI,QAAQ;AAAA,EACZ,WAAW,QAAQ,SAAS;AAAA,IAC1B,MAAM,QAAQ,gBAAgB,QAAQ,IAAI;AAAA,IAC1C,IAAI,UAAU;AAAA,MAAI,OAAO,CAAC;AAAA,IAC1B,MAAM,mBAAmB,QAAQ,QAAQ;AAAA,IACzC,UAAU,QAAQ,OAAO;AAAA,IACzB,IAAI,iBAAiB;AAAA,MACnB,SAAS;AAAA,MACT;AAAA,IACF;AAAA,IACA,MAAM,YAAY,QAAQ,OAAO;AAAA,IACjC,MAAM,YAAY,SAAS;AAAA,IAC3B,OAAO,KAAK,WAAW,CAAC,YAAY,SAAS;AAAA,IAC7C,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA;AAIT,SAAS,cAAc,CAAC,UAA+B;AAAA,EACrD,MAAM,QAAqB,CAAC;AAAA,EAG5B,IAAI,cAAc;AAAA,EAClB,IAAI,aAAa;AAAA,EACjB,IAAI,eAAe;AAAA,EACnB,WAAW,YAAY,SAAS,MAAM,GAAG,GAAG;AAAA,IAC1C,MAAM,WAAsB,CAAC;AAAA,IAC7B,IAAI,kBAAkB;AAAA,IACtB,WAAW,eAAe,SAAS,MAAM,GAAG,GAAG;AAAA,MAC7C,IAAI,CAAC;AAAA,QAAa;AAAA,MAClB,MAAM,SAAS,cAAc,WAAW;AAAA,MACxC,OAAO,aAAa,aAAa,WAAW,qBAAqB;AAAA,MACjE,IAAI,gBAAgB;AAAA,QAAW;AAAA,MAC/B,mBAAmB;AAAA,MAEnB,IAAI,gBAAgB,aAAa,cAAc,aAAa,sBAAsB,WAAW;AAAA,QAC3F;AAAA,MACF;AAAA,MACA,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,SAAS,KAAK,EAAE,iBAAiB,aAAa,YAAY,aAAa,CAAC;AAAA,IAC1E;AAAA,IACA,MAAM,KAAK,QAAQ;AAAA,EACrB;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,oBAAoB,CAAC,QAAuC;AAAA,EAC1E,MAAM,QAAQ,OAAO,MACnB,2FACF;AAAA,EACA,MAAM,UAAU,QAAQ;AAAA,EACxB,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,IAAI;AAAA,IACF,MAAM,SAAkB,KAAK,MAAM,OAAO,KAAK,SAAS,QAAQ,EAAE,SAAS,MAAM,CAAC;AAAA,IAClF,IAAI,OAAO,WAAW,YAAY,WAAW;AAAA,MAAM;AAAA,IACnD,QAAQ,SAAS,aAAa;AAAA,IAC9B,IAAI,CAAC,MAAM,QAAQ,OAAO,KAAK,OAAO,aAAa;AAAA,MAAU;AAAA,IAC7D,OAAO,EAAE,SAAS,QAAQ,IAAI,MAAM,GAAG,SAAS;AAAA,IAChD,MAAM;AAAA,IACN;AAAA;AAAA;AAYG,SAAS,qBAAqB,CAAC,QAAgB,aAAa,GAAgC;AAAA,EACjG,MAAM,MAAM,qBAAqB,MAAM;AAAA,EACvC,IAAI,CAAC;AAAA,IAAK;AAAA,EACV,MAAM,QAAQ,eAAe,IAAI,QAAQ;AAAA,EAEzC,OAAO,CAAC,MAAc,WAAuC;AAAA,IAC3D,MAAM,gBAAgB,OAAO;AAAA,IAC7B,IAAI,gBAAgB;AAAA,MAAG;AAAA,IACvB,MAAM,WAAW,MAAM;AAAA,IACvB,IAAI,CAAC,YAAY,SAAS,WAAW;AAAA,MAAG;AAAA,IAExC,IAAI,OAAO,SAAS;AAAA,IACpB,WAAW,WAAW,UAAU;AAAA,MAC9B,IAAI,QAAQ,kBAAkB;AAAA,QAAQ;AAAA,MACtC,OAAO;AAAA,IACT;AAAA,IACA,IAAI,CAAC;AAAA,MAAM;AAAA,IACX,MAAM,SAAS,IAAI,QAAQ,KAAK,gBAAgB;AAAA,IAChD,OAAO,GAAG,UAAU,KAAK,aAAa,KAAK,KAAK;AAAA;AAAA;;;AJlEpD,IAAM,kBAAkB;AACxB,IAAM,iBAAiB,IAAI,YAAY,iBAAiB,YAAY,GAAG;AACvE,IAAM,sBAAsB,QAC1B,eAAe,MAAM,GAAG,eAAe,YAAY,eAAe,IAAI,gBAAgB,MAAM,GAC5F,wCACF;AAEA,IAAM,wBAAmC;AAAA,EACvC,MAAM;AAAA,EACN,KAAK,CAAC,OAAO;AAAA,IACX,MAAM,UAAU,EAAE,QAAQ,mCAAmC,GAAG,MAAM;AAAA,MACpE,OAAO,EAAE,MAAM,oBAAoB;AAAA,KACpC;AAAA;AAEL;AAIA,IAAM,UAAU,QAAQ,QAAQ,IAAI,GAAG,QAAQ,KAAK,MAAM,eAAe;AACzE,IAAM,SAAS,QAAQ,KAAK,MAAM;AAClC,IAAM,WAAW,QAAQ,IAAI,gBAAgB;AAE7C,IAAM,OAAO,IAAI,KAAK,uBAAuB;AAC7C,IAAM,YAAsB,CAAC;AAC7B,iBAAiB,QAAQ,KAAK,KAAK,EAAE,KAAK,SAAS,UAAU,KAAK,CAAC,GAAG;AAAA,EACpE,IAAI,KAAK,SAAS,SAAS;AAAA,IAAG;AAAA,EAC9B,IAAI,UAAU,CAAC,KAAK,SAAS,MAAM;AAAA,IAAG;AAAA,EACtC,UAAU,KAAK,IAAI;AACrB;AAEA,IAAI,UAAU,WAAW,GAAG;AAAA,EAC1B,QAAQ,IAAI,uCAAuC,SAAS,cAAc,YAAY,IAAI;AAAA,EAC1F,QAAQ,KAAK,CAAC;AAChB;AAEA,QAAQ,IAAI,0BAA0B,UAAU,qBAAqB;AAMrE,IAAM,eAAe,IAAI,QAAO,EAAE,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC;AAC7F,IAAM,gBAAgB,kBAAkB,YAAY;AACpD,QAAQ,IAAI,uDAAuD,+BAA+B;AAWlG,IAAM,aAAa,CAAC,gBAAgB,0BAA0B;AAE9D,IAAI,UAAmB,MAAM,UAAU,OAAO,EAAE,UAAU,MAAM,WAAW,CAAC;AAG5E,IAAM,mBAAmB;AAEzB,IAAM,mBAAmB;AAEzB,IAAM,mBAAmB;AAGzB,IAAM,gBAAgB,QAAQ,IAAI,2BAA2B;AAAA;AAG7D,MAAM,oBAAoB,MAAM;AAAC;AAGjC,eAAe,YAAY,CAAC,MAAwB,IAA2B;AAAA,EAC7E,IAAI;AAAA,EACJ,MAAM,WAAW,IAAI,QAAc,CAAC,MAAM;AAAA,IACxC,QAAQ,WAAW,GAAG,EAAE;AAAA,GACzB;AAAA,EACD,IAAI;AAAA,IACF,MAAM,QAAQ,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,QAAQ,CAAC;AAAA,YACpD;AAAA,IACA,IAAI;AAAA,MAAO,aAAa,KAAK;AAAA;AAAA;AAIjC,SAAS,IAAI,GAAS;AAatB,eAAe,aAAa,GAAqB;AAAA,EAC/C,IAAI,QAAQ;AAAA,IAAW,OAAO;AAAA,EAC9B,QAAQ,IAAI,wDAAwD;AAAA,EACpE,UAAU,MAAM,UAAU,OAAO,EAAE,UAAU,MAAM,WAAW,CAAC;AAAA,EAC/D,OAAO;AAAA;AAQT,eAAe,eAAe,CAAC,MAAiC;AAAA,EAC9D,IAAI,KAAK,SAAS,KAAK,CAAC,QAAQ;AAAA,IAAW,OAAO;AAAA,EAClD,IAAI;AAAA,EACJ,MAAM,WAAW,IAAI,QAAiB,CAAC,MAAM;AAAA,IAC3C,QAAQ,WAAW,MAAM,EAAE,KAAK,GAAG,gBAAgB;AAAA,GACpD;AAAA,EACD,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,QAAQ,KAAK;AAAA,MAClC,KACG,SAAS,MAAM,IAAI,EACnB,KACC,MAAM,MACN,MAAM,KACR;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,OAAO,WAAW,SAAS;AAAA,YAC3B;AAAA,IACA,IAAI;AAAA,MAAO,aAAa,KAAK;AAAA;AAAA;AAWjC,SAAS,eAAe,CAAC,UAA0B;AAAA,EACjD,MAAM,YAAY,SAAS,YAAY,GAAG;AAAA,EAC1C,MAAM,UAAU,cAAc,KAAK,KAAK,SAAS,YAAY,KAAK,YAAY,CAAC;AAAA,EAC/E,IAAI,YAAY;AAAA,IAAI,OAAO;AAAA,EAC3B,MAAM,WAAW,QAAQ,QAAQ,IAAI,GAAG,SAAS,MAAM,GAAG,OAAO,CAAC;AAAA,EAClE,MAAM,SAAS,GAAG,QAAQ,IAAI;AAAA,EAC9B,MAAM,QAAQ,SAAS,WAAW,MAAM,IAAI,SAAS,MAAM,OAAO,MAAM,IAAI;AAAA,EAC5E,OAAO,GAAG,QAAQ,SAAS,MAAM,OAAO;AAAA;AAW1C,eAAe,gBAAgB,CAAC,OAAuC;AAAA,EACrE,MAAM,UAAU,MAAM;AAAA,EACtB,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,MAAM,QAAQ,KAAK,gBAAgB,EAAE,MAAM,IAAI;AAAA,EAC/C,MAAM,WAAW,KAAK,IAAI,IAAI;AAAA,EAC9B,OAAO,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,OAAO,GAAG;AAAA,IAC/C,MAAM,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAAA,EAC7C;AAAA,EACA,MAAM,SAAS,MAAM,OAAO;AAAA,EAC5B,IAAI,CAAC,QAAQ;AAAA,IACX,QAAQ,IAAI,0DAA0D;AAAA,IACtE;AAAA,EACF;AAAA,EACA,QAAQ,IAAI,8BAA8B;AAAA,EAC1C,WAAW,SAAS,OAAO,WAAW,MAAM,GAAG,EAAE,GAAG;AAAA,IAClD,QAAQ,YAAY,iBAAiB,MAAM;AAAA,IAC3C,MAAM,SAAS,gBAAgB;AAAA,IAC/B,MAAM,WAAW,MAAM,QAAQ,YAAY,MAAM;AAAA,IACjD,MAAM,QAAQ,WACV,gBAAgB,QAAQ,IACxB,GAAG,MAAM,OAAO,cAAc,aAAa,KAAK;AAAA,IACpD,QAAQ,IAAI,UAAU,MAAM,gBAAgB,mBAAmB,OAAO;AAAA,EACxE;AAAA;AAuBF,eAAe,aAAa,CAC1B,MACA,UACA,WACA,OACoB;AAAA,EAIpB,MAAM,QAAQ,MAAM,gBAAgB,IAAI;AAAA,EACxC,QAAQ,OAAO,UAAU,iBAAiB,UAAU,WAAW,KAAK;AAAA,EACpE,WAAW,QAAQ;AAAA,IAAO,QAAQ,IAAI,IAAI;AAAA,EAC1C,IAAI,UAAU;AAAA,IAAW,OAAO;AAAA,EAChC,IAAI,MAAM,SAAS;AAAA,IACjB,MAAM,iBAAiB,KAAK;AAAA,EAC9B,EAAO;AAAA,IACL,QAAQ,IAAI,mEAAmE;AAAA;AAAA,EAEjF,OAAO;AAAA;AAIT,SAAS,YAAY,CAAC,SAAkC;AAAA,EACtD,IAAI,SAAS;AAAA,EACb,IAAI,SAAS;AAAA,EACb,WAAW,KAAK,SAAS;AAAA,IACvB,IAAI,EAAE,QAAQ;AAAA,MACZ,QAAQ,IAAI,OAAO,EAAE,MAAM;AAAA,MAC3B,UAAU;AAAA,IACZ,EAAO;AAAA,MACL,QAAQ,IAAI,OAAO,EAAE,SAAS,EAAE,OAAO;AAAA,MACvC,UAAU;AAAA;AAAA,EAEd;AAAA,EACA,OAAO,EAAE,QAAQ,OAAO;AAAA;AAsB1B,eAAe,SAAS,CAAC,UAAkD;AAAA,EACzE,MAAM,cAAc,MAAM,IAAI,MAAM;AAAA,IAClC,aAAa,CAAC,QAAQ;AAAA,IACtB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,SAAS,CAAC,qBAAqB;AAAA,IAC/B,QAAQ;AAAA,MACN,6BAA6B,KAAK,UAChC,kBAAkB,+BACpB;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS;AAAA,IACxB,QAAQ,IAAI,mBAAmB;AAAA,IAC/B,WAAW,OAAO,YAAY,MAAM;AAAA,MAClC,QAAQ,IAAI,QAAQ,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,MAAM,YAAY,QAAQ,IAAI,KAAK;AAAA,EAClD,IAAI,CAAC,QAAQ;AAAA,IACX,QAAQ,IAAI,8BAA8B;AAAA,IAC1C;AAAA,EACF;AAAA,EAKA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB,OAAO;AAAA,IACL;AAAA,IACA,MAAM,GAAG,aAAa;AAAA;AAAA;AAAA,IACtB,kBAAkB,WAAW,MAAM;AAAA,CAAI,EAAE,SAAS;AAAA,EACpD;AAAA;AAGF,eAAe,OAAO,CAAC,UAAsC;AAAA,EAC3D,MAAM,QAAQ,MAAM,UAAU,QAAQ;AAAA,EACtC,IAAI,CAAC;AAAA,IAAO,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE;AAAA,EAC1C,QAAQ,QAAQ,MAAM,qBAAqB;AAAA,EAE3C,MAAM,SAAS,IAAI,MAAM;AAAA,IACvB,MAAM;AAAA,IACN,KAAK,GAAG;AAAA,MACN,OAAO,IAAI,SAAS,MAAM,EAAE,SAAS,EAAE,gBAAgB,YAAY,EAAE,CAAC;AAAA;AAAA,EAE1E,CAAC;AAAA,EAKD,MAAM,UAAU,OAAO,MAAM,cAAc,GAAG,qBAAqB;AAAA,EAEnE,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,UAAU,MAAM,QAAQ,QAAQ;AAAA,IACtC,OAAO;AAAA,IACP,QAAQ,GAAG,WAAW,CAAC,QAAQ;AAAA,MAC7B,MAAM,OAAO,IAAI,KAAK;AAAA,MACtB,IAAI,KAAK,SAAS,QAAQ,GAAG;AAAA,QAC3B,QAAQ,IAAI,KAAK,MAAM;AAAA,MACzB;AAAA,KACD;AAAA,IAID,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM,UAAU,IAAI,QAAsB,CAAC,UAAS,WAAW;AAAA,MAC7D,gBAAgB;AAAA,MAChB,eAAe;AAAA,KAChB;AAAA,IAOD,MAAM,QAAQ,eAAe,iBAAiB,CAAC,aAA0B;AAAA,MACvE,cAAc,QAAO;AAAA,KACtB;AAAA,IAID,MAAM,WAAW,cAAc;AAAA,IAC/B,MAAM,QAAQ,eAAe,mBAAmB,CAAC,UAAyB;AAAA,MACxE,cAAc,UAAU,KAAK;AAAA,KAC9B;AAAA,IAED,QAAQ,GAAG,aAAa,CAAC,QAAiB;AAAA,MACxC,aAAa,eAAe,QAAQ,MAAM,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC;AAAA,KACrE;AAAA,IAED,IAAI;AAAA,IACJ,IAAI;AAAA,IAGJ,IAAI;AAAA,IACJ,IAAI,cAAc;AAAA,IAClB,MAAM,kBAAkB,CAAC,MAAc,WAAuC;AAAA,MAC5E,IAAI,CAAC,aAAa;AAAA,QAChB,SAAS,sBAAsB,QAAQ,gBAAgB;AAAA,QACvD,cAAc;AAAA,MAChB;AAAA,MACA,OAAO,SAAS,MAAM,MAAM;AAAA;AAAA,IAE9B,IAAI,eAAe;AAAA,MACjB,eAAe,MAAM,QAAQ,iBAAiB;AAAA,MAC9C,aAAa,GAAG,mBAAmB,CAAC,UAAU;AAAA,QAC5C,eAAe;AAAA,OAChB;AAAA,MACD,MAAM,aAAa,KAAK,iBAAiB;AAAA,IAC3C;AAAA,IAKA,MAAM,YAAY,OAAO,QAAQ,IAAI,+BAA+B,KAAK;AAAA,IAOzE,QAAQ,4BAA4B,SAAS;AAAA,IAC7C,MAAM,QAAyB;AAAA,MAC7B,SAAS;AAAA,MACT,QAAQ,MAAM;AAAA,MACd,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MACF,MAAM,QAAQ,KAAK,oBAAoB,OAAO,SAAS,EAAE,WAAW,mBAAmB,CAAC;AAAA,MACxF,OAAO,KAAK;AAAA,MACZ,IAAI,EAAE,eAAe,UAAU,IAAI,SAAS;AAAA,QAAgB,MAAM;AAAA,MAClE,OAAO,MAAM,cAAc,SAAS,UAAU,WAAW,KAAK;AAAA;AAAA,IAGhE,IAAI;AAAA,IACJ,MAAM,UAAU,IAAI,QAAe,CAAC,GAAG,WAAW;AAAA,MAChD,eAAe,WAAW,MAAM,OAAO,IAAI,WAAa,GAAG,SAAS;AAAA,KACrE;AAAA,IAED,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,UAAU,MAAM,QAAQ,KAAK,CAAC,SAAS,OAAO,CAAC;AAAA,MAC/C,OAAO,KAAK;AAAA,MACZ,IAAI,EAAE,eAAe;AAAA,QAAc,MAAM;AAAA,MACzC,OAAO,MAAM,cAAc,SAAS,UAAU,WAAW,KAAK;AAAA,cAC9D;AAAA,MACA,IAAI;AAAA,QAAc,aAAa,YAAY;AAAA;AAAA,IAG7C,OAAO,aAAa,OAAO;AAAA,YAC3B;AAAA,IAGA,IAAI;AAAA,MAAM,MAAM,aAAa,KAAK,MAAM,GAAG,gBAAgB;AAAA,IAC3D,MAAM,aAAa,QAAQ,MAAM,GAAG,gBAAgB;AAAA,IACpD,OAAO,KAAK;AAAA;AAAA;AAIhB,MAAQ,QAAQ,aAAa,QAAQ,gBAAgB,MAAM,SAAS,WAAW,SAAS;AAAA,EACtF,OAAO,CAAC,aAAa,SAAS,QAAQ,GAAG,YAAY,EAAE;AACzD,CAAC;AAED,MAAM,QAAQ,MAAM;AACnB,aAA0E,QAAQ,OAAO,IAAI;AAE9F,QAAQ,IAAI;AAAA,mBAAsB,uBAAuB,oBAAoB;AAC7E,QAAQ,KAAK,cAAc,IAAI,IAAI,CAAC;",
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "F1A1BAA7F2996D4064756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
|
@@ -1,76 +1,3 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
-
for (let key of __getOwnPropNames(mod))
|
|
24
|
-
if (!__hasOwnProp.call(to, key))
|
|
25
|
-
__defProp(to, key, {
|
|
26
|
-
get: __accessProp.bind(mod, key),
|
|
27
|
-
enumerable: true
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (canCache)
|
|
31
|
-
cache.set(mod, to);
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
|
-
var __toCommonJS = (from) => {
|
|
35
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
36
|
-
if (entry)
|
|
37
|
-
return entry;
|
|
38
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
39
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
40
|
-
for (var key of __getOwnPropNames(from))
|
|
41
|
-
if (!__hasOwnProp.call(entry, key))
|
|
42
|
-
__defProp(entry, key, {
|
|
43
|
-
get: __accessProp.bind(from, key),
|
|
44
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
__moduleCache.set(from, entry);
|
|
48
|
-
return entry;
|
|
49
|
-
};
|
|
50
|
-
var __moduleCache;
|
|
51
|
-
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
52
|
-
var __returnValue = (v) => v;
|
|
53
|
-
function __exportSetter(name, newValue) {
|
|
54
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
55
|
-
}
|
|
56
|
-
var __export = (target, all) => {
|
|
57
|
-
for (var name in all)
|
|
58
|
-
__defProp(target, name, {
|
|
59
|
-
get: all[name],
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
set: __exportSetter.bind(all, name)
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
66
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
67
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
68
|
-
}) : x)(function(x) {
|
|
69
|
-
if (typeof require !== "undefined")
|
|
70
|
-
return require.apply(this, arguments);
|
|
71
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
72
|
-
});
|
|
73
|
-
|
|
74
1
|
// tools/test/src/contrast/named-colors.ts
|
|
75
2
|
var CSS_NAMED_COLORS = Object.freeze({
|
|
76
3
|
aliceblue: "#f0f8ff",
|
|
@@ -437,4 +364,4 @@ export {
|
|
|
437
364
|
relativeLuminance
|
|
438
365
|
};
|
|
439
366
|
|
|
440
|
-
//# debugId=
|
|
367
|
+
//# debugId=6D802B31E6E33EEE64756E2164756E21
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"// The complete CSS named-color keyword table (CSS Color Module Level 4),\n// keyed by lowercase name → `#rrggbb`. Parsed by `parseColor` so a consumer can\n// write `assertContrast(el, { against: \"white\" })` or feed a named color\n// directly. `transparent` is handled separately (it carries alpha 0); the rest\n// are fully opaque. `rebeccapurple` is included per CSS Color 4.\n//\n// Kept as data so `parseColor` stays transport-agnostic — no DOM round-trip\n// needed to resolve a name, so it works identically in Node and in a\n// `page.evaluate` bundle.\nexport const CSS_NAMED_COLORS: Readonly<Record<string, string>> = Object.freeze({\n aliceblue: \"#f0f8ff\",\n antiquewhite: \"#faebd7\",\n aqua: \"#00ffff\",\n aquamarine: \"#7fffd4\",\n azure: \"#f0ffff\",\n beige: \"#f5f5dc\",\n bisque: \"#ffe4c4\",\n black: \"#000000\",\n blanchedalmond: \"#ffebcd\",\n blue: \"#0000ff\",\n blueviolet: \"#8a2be2\",\n brown: \"#a52a2a\",\n burlywood: \"#deb887\",\n cadetblue: \"#5f9ea0\",\n chartreuse: \"#7fff00\",\n chocolate: \"#d2691e\",\n coral: \"#ff7f50\",\n cornflowerblue: \"#6495ed\",\n cornsilk: \"#fff8dc\",\n crimson: \"#dc143c\",\n cyan: \"#00ffff\",\n darkblue: \"#00008b\",\n darkcyan: \"#008b8b\",\n darkgoldenrod: \"#b8860b\",\n darkgray: \"#a9a9a9\",\n darkgreen: \"#006400\",\n darkgrey: \"#a9a9a9\",\n darkkhaki: \"#bdb76b\",\n darkmagenta: \"#8b008b\",\n darkolivegreen: \"#556b2f\",\n darkorange: \"#ff8c00\",\n darkorchid: \"#9932cc\",\n darkred: \"#8b0000\",\n darksalmon: \"#e9967a\",\n darkseagreen: \"#8fbc8f\",\n darkslateblue: \"#483d8b\",\n darkslategray: \"#2f4f4f\",\n darkslategrey: \"#2f4f4f\",\n darkturquoise: \"#00ced1\",\n darkviolet: \"#9400d3\",\n deeppink: \"#ff1493\",\n deepskyblue: \"#00bfff\",\n dimgray: \"#696969\",\n dimgrey: \"#696969\",\n dodgerblue: \"#1e90ff\",\n firebrick: \"#b22222\",\n floralwhite: \"#fffaf0\",\n forestgreen: \"#228b22\",\n fuchsia: \"#ff00ff\",\n gainsboro: \"#dcdcdc\",\n ghostwhite: \"#f8f8ff\",\n gold: \"#ffd700\",\n goldenrod: \"#daa520\",\n gray: \"#808080\",\n green: \"#008000\",\n greenyellow: \"#adff2f\",\n grey: \"#808080\",\n honeydew: \"#f0fff0\",\n hotpink: \"#ff69b4\",\n indianred: \"#cd5c5c\",\n indigo: \"#4b0082\",\n ivory: \"#fffff0\",\n khaki: \"#f0e68c\",\n lavender: \"#e6e6fa\",\n lavenderblush: \"#fff0f5\",\n lawngreen: \"#7cfc00\",\n lemonchiffon: \"#fffacd\",\n lightblue: \"#add8e6\",\n lightcoral: \"#f08080\",\n lightcyan: \"#e0ffff\",\n lightgoldenrodyellow: \"#fafad2\",\n lightgray: \"#d3d3d3\",\n lightgreen: \"#90ee90\",\n lightgrey: \"#d3d3d3\",\n lightpink: \"#ffb6c1\",\n lightsalmon: \"#ffa07a\",\n lightseagreen: \"#20b2aa\",\n lightskyblue: \"#87cefa\",\n lightslategray: \"#778899\",\n lightslategrey: \"#778899\",\n lightsteelblue: \"#b0c4de\",\n lightyellow: \"#ffffe0\",\n lime: \"#00ff00\",\n limegreen: \"#32cd32\",\n linen: \"#faf0e6\",\n magenta: \"#ff00ff\",\n maroon: \"#800000\",\n mediumaquamarine: \"#66cdaa\",\n mediumblue: \"#0000cd\",\n mediumorchid: \"#ba55d3\",\n mediumpurple: \"#9370db\",\n mediumseagreen: \"#3cb371\",\n mediumslateblue: \"#7b68ee\",\n mediumspringgreen: \"#00fa9a\",\n mediumturquoise: \"#48d1cc\",\n mediumvioletred: \"#c71585\",\n midnightblue: \"#191970\",\n mintcream: \"#f5fffa\",\n mistyrose: \"#ffe4e1\",\n moccasin: \"#ffe4b5\",\n navajowhite: \"#ffdead\",\n navy: \"#000080\",\n oldlace: \"#fdf5e6\",\n olive: \"#808000\",\n olivedrab: \"#6b8e23\",\n orange: \"#ffa500\",\n orangered: \"#ff4500\",\n orchid: \"#da70d6\",\n palegoldenrod: \"#eee8aa\",\n palegreen: \"#98fb98\",\n paleturquoise: \"#afeeee\",\n palevioletred: \"#db7093\",\n papayawhip: \"#ffefd5\",\n peachpuff: \"#ffdab9\",\n peru: \"#cd853f\",\n pink: \"#ffc0cb\",\n plum: \"#dda0dd\",\n powderblue: \"#b0e0e6\",\n purple: \"#800080\",\n rebeccapurple: \"#663399\",\n red: \"#ff0000\",\n rosybrown: \"#bc8f8f\",\n royalblue: \"#4169e1\",\n saddlebrown: \"#8b4513\",\n salmon: \"#fa8072\",\n sandybrown: \"#f4a460\",\n seagreen: \"#2e8b57\",\n seashell: \"#fff5ee\",\n sienna: \"#a0522d\",\n silver: \"#c0c0c0\",\n skyblue: \"#87ceeb\",\n slateblue: \"#6a5acd\",\n slategray: \"#708090\",\n slategrey: \"#708090\",\n snow: \"#fffafa\",\n springgreen: \"#00ff7f\",\n steelblue: \"#4682b4\",\n tan: \"#d2b48c\",\n teal: \"#008080\",\n thistle: \"#d8bfd8\",\n tomato: \"#ff6347\",\n turquoise: \"#40e0d0\",\n violet: \"#ee82ee\",\n wheat: \"#f5deb3\",\n white: \"#ffffff\",\n whitesmoke: \"#f5f5f5\",\n yellow: \"#ffff00\",\n yellowgreen: \"#9acd32\",\n});\n",
|
|
6
6
|
"/**\n * @fairfox/polly/test/contrast — WCAG contrast helpers for theme/dark-mode\n * tests (polly#141).\n *\n * Theme regressions are easy to ship and hard to catch, and hand-rolled checks\n * keep repeating the same mistakes: averaging RGB channels as a brightness\n * proxy (false passes for equal-luminance hues), reading a single\n * `backgroundColor` and skipping `rgba(0,0,0,0)` (silently dropping every\n * transparent-background element), and picking an arbitrary threshold. WCAG 2.1\n * has a defined answer — relative luminance, 4.5:1 for body text, 3:1 for UI\n * components and large text (SC 1.4.3 / 1.4.11) — and it belongs in one place.\n *\n * The pure functions (`parseColor`, `relativeLuminance`, `contrastRatio`) are\n * transport-agnostic: they work in Node and inside a Playwright/Puppeteer\n * `page.evaluate` bundle alike. `effectiveBackground` and `assertContrast` read\n * the live DOM and are meant for the harness side (or a `page.evaluate` where a\n * real `getComputedStyle` exists).\n */\n\nimport { CSS_NAMED_COLORS } from \"./named-colors\";\n\n/** r, g, b in 0–255; a (alpha) in 0–1. */\nexport interface RGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\n/** Anything `contrastRatio`/`assertContrast` will accept for a color. */\nexport type ColorInput = string | RGBA | { r: number; g: number; b: number };\n\nconst clamp = (n: number, lo: number, hi: number): number => Math.min(hi, Math.max(lo, n));\nconst clampChannel = (n: number): number => clamp(Math.round(n), 0, 255);\n\n/** Parse one rgb/hsl numeric component that may be a percentage of `scale`. */\nfunction parseComponent(token: string, scale: number): number {\n const t = token.trim();\n if (t.endsWith(\"%\")) {\n return (Number.parseFloat(t) / 100) * scale;\n }\n return Number.parseFloat(t);\n}\n\n/** Parse an alpha token (`0.5` or `50%`) to 0–1. */\nfunction parseAlpha(token: string | undefined): number {\n if (token === undefined) return 1;\n const t = token.trim();\n const value = t.endsWith(\"%\") ? Number.parseFloat(t) / 100 : Number.parseFloat(t);\n return Number.isFinite(value) ? clamp(value, 0, 1) : 1;\n}\n\nfunction parseHex(input: string): RGBA | null {\n const hex = input.slice(1);\n const expand = (h: string): string =>\n h.length === 3 || h.length === 4\n ? h\n .split(\"\")\n .map((c) => c + c)\n .join(\"\")\n : h;\n const full = expand(hex);\n if (full.length !== 6 && full.length !== 8) return null;\n if (!/^[0-9a-fA-F]+$/.test(full)) return null;\n const r = Number.parseInt(full.slice(0, 2), 16);\n const g = Number.parseInt(full.slice(2, 4), 16);\n const b = Number.parseInt(full.slice(4, 6), 16);\n const a = full.length === 8 ? Number.parseInt(full.slice(6, 8), 16) / 255 : 1;\n return { r, g, b, a };\n}\n\n/** Split the inside of `fn(...)` into channel tokens and an optional alpha,\n * accepting both comma syntax (`r, g, b, a`) and modern slash syntax\n * (`r g b / a`). */\nfunction splitFunctionArgs(inner: string): { parts: string[]; alpha: string | undefined } {\n const [head, alphaTail] = inner.split(\"/\");\n const slashAlpha = alphaTail?.trim();\n const parts = (head ?? \"\")\n .trim()\n .split(/[\\s,]+/)\n .filter(Boolean);\n if (slashAlpha !== undefined) {\n return { parts, alpha: slashAlpha };\n }\n // Comma syntax folds alpha into the 4th part.\n if (parts.length === 4) {\n return { parts: parts.slice(0, 3), alpha: parts[3] };\n }\n return { parts, alpha: undefined };\n}\n\nfunction parseRgb(inner: string): RGBA | null {\n const { parts, alpha } = splitFunctionArgs(inner);\n const [rToken, gToken, bToken] = parts;\n if (rToken === undefined || gToken === undefined || bToken === undefined) return null;\n const r = clampChannel(parseComponent(rToken, 255));\n const g = clampChannel(parseComponent(gToken, 255));\n const b = clampChannel(parseComponent(bToken, 255));\n if (![r, g, b].every(Number.isFinite)) return null;\n return { r, g, b, a: parseAlpha(alpha) };\n}\n\n/** HSL→RGB per CSS. h in degrees, s & l in 0–1. */\nfunction hslToRgb(h: number, s: number, l: number): { r: number; g: number; b: number } {\n const hue = ((h % 360) + 360) % 360;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((hue / 60) % 2) - 1));\n const m = l - c / 2;\n const [r1, g1, b1] = (() => {\n if (hue < 60) return [c, x, 0];\n if (hue < 120) return [x, c, 0];\n if (hue < 180) return [0, c, x];\n if (hue < 240) return [0, x, c];\n if (hue < 300) return [x, 0, c];\n return [c, 0, x];\n })();\n return {\n r: clampChannel((r1 + m) * 255),\n g: clampChannel((g1 + m) * 255),\n b: clampChannel((b1 + m) * 255),\n };\n}\n\nfunction parseHsl(inner: string): RGBA | null {\n const { parts, alpha } = splitFunctionArgs(inner);\n const [hToken, sToken, lToken] = parts;\n if (hToken === undefined || sToken === undefined || lToken === undefined) return null;\n const h = Number.parseFloat(hToken.replace(/deg$/, \"\"));\n const s = clamp(parseComponent(sToken, 100) / 100, 0, 1);\n const l = clamp(parseComponent(lToken, 100) / 100, 0, 1);\n if (![h, s, l].every(Number.isFinite)) return null;\n return { ...hslToRgb(h, s, l), a: parseAlpha(alpha) };\n}\n\n/**\n * Parse a CSS color string to `{ r, g, b, a }`, or `null` if unrecognised.\n * Handles `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`, `rgb()/rgba()` (comma or\n * space syntax, with optional `/ alpha`), `hsl()/hsla()`, `transparent`, and\n * the full set of CSS named colors. This is the parse `getComputedStyle`\n * output needs (always `rgb()`/`rgba()`) plus the literal forms a test author\n * is likely to pass to `against`.\n */\nexport function parseColor(input: string): RGBA | null {\n if (typeof input !== \"string\") return null;\n const value = input.trim();\n if (value === \"\") return null;\n const lower = value.toLowerCase();\n\n if (lower === \"transparent\") return { r: 0, g: 0, b: 0, a: 0 };\n\n const named = CSS_NAMED_COLORS[lower];\n if (named) return parseHex(named);\n\n if (value.startsWith(\"#\")) return parseHex(value);\n\n const fn = value.match(/^([a-z]+)\\(([^)]*)\\)$/i);\n const [, fnName, fnInner] = fn ?? [];\n if (fnName !== undefined && fnInner !== undefined) {\n const name = fnName.toLowerCase();\n if (name === \"rgb\" || name === \"rgba\") return parseRgb(fnInner);\n if (name === \"hsl\" || name === \"hsla\") return parseHsl(fnInner);\n }\n return null;\n}\n\n/** Coerce a ColorInput to RGBA (assuming alpha 1 when absent), or null. */\nfunction toRGBA(input: ColorInput): RGBA | null {\n if (typeof input === \"string\") return parseColor(input);\n if (input && typeof input === \"object\" && \"r\" in input) {\n return { r: input.r, g: input.g, b: input.b, a: \"a\" in input ? input.a : 1 };\n }\n return null;\n}\n\n/**\n * WCAG relative luminance (0–1) of an opaque color. Alpha is ignored — composite\n * first (see `compositeOver`) if the color is translucent.\n */\nexport function relativeLuminance(color: { r: number; g: number; b: number }): number {\n const channel = (c: number): number => {\n const cs = c / 255;\n return cs <= 0.03928 ? cs / 12.92 : ((cs + 0.055) / 1.055) ** 2.4;\n };\n return 0.2126 * channel(color.r) + 0.7152 * channel(color.g) + 0.0722 * channel(color.b);\n}\n\n/**\n * WCAG contrast ratio (1–21) between two colors. Accepts CSS strings or RGB(A)\n * objects. Alpha is ignored; composite translucent colors over their background\n * first. Returns `NaN` if either input cannot be parsed.\n */\nexport function contrastRatio(a: ColorInput, b: ColorInput): number {\n const ca = toRGBA(a);\n const cb = toRGBA(b);\n if (!ca || !cb) return Number.NaN;\n const la = relativeLuminance(ca);\n const lb = relativeLuminance(cb);\n const lighter = Math.max(la, lb);\n const darker = Math.min(la, lb);\n return (lighter + 0.05) / (darker + 0.05);\n}\n\n/**\n * Alpha-composite `fg` over `bg` (the \"over\" operator), returning an opaque\n * color. `bg` is assumed opaque (its alpha is treated as 1).\n */\nexport function compositeOver(fg: RGBA, bg: RGBA): RGBA {\n const a = clamp(fg.a, 0, 1);\n return {\n r: clampChannel(fg.r * a + bg.r * (1 - a)),\n g: clampChannel(fg.g * a + bg.g * (1 - a)),\n b: clampChannel(fg.b * a + bg.b * (1 - a)),\n a: 1,\n };\n}\n\n/**\n * Resolve the effective (opaque) background an element renders against by\n * walking up the ancestor chain, compositing each translucent background over\n * the next, until an opaque one is reached. Elements with a fully transparent\n * background — most of them — are no longer silently skipped: they contribute\n * their (zero) alpha and the walk continues to the parent. Falls back to white\n * when the chain reaches the root without an opaque background.\n */\nexport function effectiveBackground(element: Element): RGBA {\n const view = element.ownerDocument?.defaultView;\n const getStyle = view?.getComputedStyle?.bind(view);\n const stack: RGBA[] = [];\n\n let node: Element | null = element;\n while (node && getStyle) {\n const parsed = parseColor(getStyle(node).backgroundColor || \"\");\n if (parsed && parsed.a > 0) {\n stack.push(parsed);\n if (parsed.a >= 1) break;\n }\n node = node.parentElement;\n }\n\n // Composite from the deepest opaque layer outward toward the element.\n let result: RGBA = { r: 255, g: 255, b: 255, a: 1 };\n for (let i = stack.length - 1; i >= 0; i--) {\n const layer = stack[i];\n if (layer === undefined) continue;\n result = compositeOver(layer, result);\n }\n return result;\n}\n\nexport interface AssertContrastOptions {\n /** Minimum acceptable ratio. WCAG: 3 (UI/large text), 4.5 (body), 7 (AAA). */\n min: 3 | 4.5 | 7 | number;\n /**\n * Background to measure against. `\"effective\"` (default) walks the ancestor\n * chain via `effectiveBackground`; an explicit color (string or RGB) skips\n * the walk.\n */\n against?: \"effective\" | ColorInput;\n}\n\nexport interface ContrastResult {\n ratio: number;\n foreground: RGBA;\n background: RGBA;\n min: number;\n passes: boolean;\n}\n\nfunction describeElement(element: Element): string {\n const tag = element.tagName.toLowerCase();\n const id = element.id ? `#${element.id}` : \"\";\n const cls = element.getAttribute(\"class\");\n const classes = cls ? `.${cls.trim().split(/\\s+/).join(\".\")}` : \"\";\n return `${tag}${id}${classes}`;\n}\n\nconst fmt = (c: RGBA): string =>\n c.a >= 1 ? `rgb(${c.r}, ${c.g}, ${c.b})` : `rgba(${c.r}, ${c.g}, ${c.b}, ${c.a})`;\n\n/**\n * Assert an element's text meets a WCAG contrast minimum against its\n * background, throwing a message that names the element, both colors, and the\n * actual ratio. The element's own (possibly translucent) text color is\n * composited over the resolved background before measuring. Returns the\n * computed `ContrastResult` on success so callers can log or assert further.\n */\nexport function assertContrast(element: Element, options: AssertContrastOptions): ContrastResult {\n const view = element.ownerDocument?.defaultView;\n const getStyle = view?.getComputedStyle?.bind(view);\n if (!getStyle) {\n throw new Error(\"assertContrast: no getComputedStyle available on the element's document\");\n }\n\n const fgRaw = parseColor(getStyle(element).color || \"\");\n if (!fgRaw) {\n throw new Error(`assertContrast: could not parse the color of ${describeElement(element)}`);\n }\n\n const against = options.against ?? \"effective\";\n const background = against === \"effective\" ? effectiveBackground(element) : toRGBA(against);\n if (!background) {\n throw new Error(\n `assertContrast: could not parse the 'against' color for ${describeElement(element)}`\n );\n }\n\n const foreground = fgRaw.a < 1 ? compositeOver(fgRaw, background) : fgRaw;\n const ratio = contrastRatio(foreground, background);\n const passes = ratio >= options.min;\n\n if (!passes) {\n throw new Error(\n `Contrast ${ratio.toFixed(2)}:1 is below the required ${options.min}:1 for ` +\n `${describeElement(element)} — foreground ${fmt(foreground)} on background ${fmt(background)}.`\n );\n }\n\n return { ratio, foreground, background, min: options.min, passes };\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "6D802B31E6E33EEE64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|