@e2e-dev/web 0.11.0-canary-20260928184528

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.
Files changed (121) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +138 -0
  4. package/dist/.build.json +1 -0
  5. package/dist/actions.d.ts +23 -0
  6. package/dist/actions.d.ts.map +1 -0
  7. package/dist/actions.js +174 -0
  8. package/dist/actions.js.map +1 -0
  9. package/dist/attempt-session.d.ts +77 -0
  10. package/dist/attempt-session.d.ts.map +1 -0
  11. package/dist/attempt-session.js +293 -0
  12. package/dist/attempt-session.js.map +1 -0
  13. package/dist/browser-connection.d.ts +34 -0
  14. package/dist/browser-connection.d.ts.map +1 -0
  15. package/dist/browser-connection.js +86 -0
  16. package/dist/browser-connection.js.map +1 -0
  17. package/dist/capture-scope.d.ts +21 -0
  18. package/dist/capture-scope.d.ts.map +1 -0
  19. package/dist/capture-scope.js +61 -0
  20. package/dist/capture-scope.js.map +1 -0
  21. package/dist/cdp-recovery.d.ts +29 -0
  22. package/dist/cdp-recovery.d.ts.map +1 -0
  23. package/dist/cdp-recovery.js +84 -0
  24. package/dist/cdp-recovery.js.map +1 -0
  25. package/dist/cdp-selectors.d.ts +15 -0
  26. package/dist/cdp-selectors.d.ts.map +1 -0
  27. package/dist/cdp-selectors.js +52 -0
  28. package/dist/cdp-selectors.js.map +1 -0
  29. package/dist/closed-shadow.d.ts +64 -0
  30. package/dist/closed-shadow.d.ts.map +1 -0
  31. package/dist/closed-shadow.js +142 -0
  32. package/dist/closed-shadow.js.map +1 -0
  33. package/dist/dialogs.d.ts +38 -0
  34. package/dist/dialogs.d.ts.map +1 -0
  35. package/dist/dialogs.js +87 -0
  36. package/dist/dialogs.js.map +1 -0
  37. package/dist/engine.d.ts +26 -0
  38. package/dist/engine.d.ts.map +1 -0
  39. package/dist/engine.js +176 -0
  40. package/dist/engine.js.map +1 -0
  41. package/dist/evaluation.d.ts +18 -0
  42. package/dist/evaluation.d.ts.map +1 -0
  43. package/dist/evaluation.js +35 -0
  44. package/dist/evaluation.js.map +1 -0
  45. package/dist/in-page/read-semantics.d.ts +28 -0
  46. package/dist/in-page/read-semantics.d.ts.map +1 -0
  47. package/dist/in-page/read-semantics.js +1178 -0
  48. package/dist/in-page/read-semantics.js.map +1 -0
  49. package/dist/index.d.ts +22 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +14 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/install.d.ts +40 -0
  54. package/dist/install.d.ts.map +1 -0
  55. package/dist/install.js +117 -0
  56. package/dist/install.js.map +1 -0
  57. package/dist/label-selector.d.ts +37 -0
  58. package/dist/label-selector.d.ts.map +1 -0
  59. package/dist/label-selector.js +53 -0
  60. package/dist/label-selector.js.map +1 -0
  61. package/dist/locators.d.ts +76 -0
  62. package/dist/locators.d.ts.map +1 -0
  63. package/dist/locators.js +289 -0
  64. package/dist/locators.js.map +1 -0
  65. package/dist/observation-capture.d.ts +12 -0
  66. package/dist/observation-capture.d.ts.map +1 -0
  67. package/dist/observation-capture.js +93 -0
  68. package/dist/observation-capture.js.map +1 -0
  69. package/dist/observation.d.ts +63 -0
  70. package/dist/observation.d.ts.map +1 -0
  71. package/dist/observation.js +280 -0
  72. package/dist/observation.js.map +1 -0
  73. package/dist/observe.d.ts +51 -0
  74. package/dist/observe.d.ts.map +1 -0
  75. package/dist/observe.js +105 -0
  76. package/dist/observe.js.map +1 -0
  77. package/dist/operation-budget.d.ts +11 -0
  78. package/dist/operation-budget.d.ts.map +1 -0
  79. package/dist/operation-budget.js +40 -0
  80. package/dist/operation-budget.js.map +1 -0
  81. package/dist/protected-app.d.ts +32 -0
  82. package/dist/protected-app.d.ts.map +1 -0
  83. package/dist/protected-app.js +39 -0
  84. package/dist/protected-app.js.map +1 -0
  85. package/dist/provider.d.ts +158 -0
  86. package/dist/provider.d.ts.map +1 -0
  87. package/dist/provider.js +311 -0
  88. package/dist/provider.js.map +1 -0
  89. package/dist/read-node.d.ts +152 -0
  90. package/dist/read-node.d.ts.map +1 -0
  91. package/dist/read-node.js +42 -0
  92. package/dist/read-node.js.map +1 -0
  93. package/dist/refs.d.ts +43 -0
  94. package/dist/refs.d.ts.map +1 -0
  95. package/dist/refs.js +85 -0
  96. package/dist/refs.js.map +1 -0
  97. package/dist/route-pattern.d.ts +13 -0
  98. package/dist/route-pattern.d.ts.map +1 -0
  99. package/dist/route-pattern.js +55 -0
  100. package/dist/route-pattern.js.map +1 -0
  101. package/dist/selector-engines.d.ts +6 -0
  102. package/dist/selector-engines.d.ts.map +1 -0
  103. package/dist/selector-engines.js +8 -0
  104. package/dist/selector-engines.js.map +1 -0
  105. package/dist/support.d.ts +147 -0
  106. package/dist/support.d.ts.map +1 -0
  107. package/dist/support.js +366 -0
  108. package/dist/support.js.map +1 -0
  109. package/dist/surface.d.ts +313 -0
  110. package/dist/surface.d.ts.map +1 -0
  111. package/dist/surface.js +691 -0
  112. package/dist/surface.js.map +1 -0
  113. package/dist/video.d.ts +59 -0
  114. package/dist/video.d.ts.map +1 -0
  115. package/dist/video.js +116 -0
  116. package/dist/video.js.map +1 -0
  117. package/dist/web.d.ts +191 -0
  118. package/dist/web.d.ts.map +1 -0
  119. package/dist/web.js +382 -0
  120. package/dist/web.js.map +1 -0
  121. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-semantics.js","sourceRoot":"","sources":["../../src/in-page/read-semantics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `@e2e-dev/web` public surface: the `web()` engine factory, the
3
+ * `web` fixture types, and a `test` typed with that fixture. Everything else a
4
+ * test needs (`expect`, `credentials`) comes from `e2e` itself: this package
5
+ * contributes a surface, it does not re-export the test API.
6
+ */
7
+ import type { Web } from './web.ts';
8
+ export { web, surfaceOf } from './engine.ts';
9
+ export type { PlaywrightLiveSurface } from './engine.ts';
10
+ export type { WebBasicAuth, WebConnectOptions, WebOptions } from './surface.ts';
11
+ export type { BrowserLease, BrowserProvider, BrowserProviderScope, BrowserReleaseContext, BrowserRequest } from './provider.ts';
12
+ export type { BrowserName } from './browser-connection.ts';
13
+ export type { Dialog, DialogHandler } from './dialogs.ts';
14
+ export type { Cookie, CookieFields, FrameScreen, RouteFulfillResponse, Web, WebExpectation, WebResponse, WebRoute, } from './web.ts';
15
+ /**
16
+ * `test` typed with this engine's contributed `web` fixture. The same
17
+ * runtime `test` as `e2e`'s; only the fixture types differ.
18
+ */
19
+ export declare const test: import("e2e").TestAPI<import("e2e").TestFixtures & {
20
+ web: Web;
21
+ }>;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChI,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,WAAW,EACX,QAAQ,GACT,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,eAAO,MAAM,IAAI;SAAsB,GAAG;EAAK,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `@e2e-dev/web` public surface: the `web()` engine factory, the
3
+ * `web` fixture types, and a `test` typed with that fixture. Everything else a
4
+ * test needs (`expect`, `credentials`) comes from `e2e` itself: this package
5
+ * contributes a surface, it does not re-export the test API.
6
+ */
7
+ import { test as base } from 'e2e';
8
+ export { web, surfaceOf } from './engine.js';
9
+ /**
10
+ * `test` typed with this engine's contributed `web` fixture. The same
11
+ * runtime `test` as `e2e`'s; only the fixture types differ.
12
+ */
13
+ export const test = base.extend();
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC;AAGnC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAgB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /** First-run browser provisioning for the Playwright engine. */
2
+ import { type BrowserName } from './browser-connection.ts';
3
+ /** What an installer receives besides the browser names. */
4
+ export interface InstallContext {
5
+ /** Receives every line the installer prints: the download URL, progress, warnings. */
6
+ readonly log: (line: string) => void;
7
+ /** Aborts a download in progress. */
8
+ readonly signal?: AbortSignal | undefined;
9
+ /** Environment the installer runs with: the run's, so it fills the cache the workers will launch from. */
10
+ readonly env: NodeJS.ProcessEnv;
11
+ }
12
+ export interface EnsureBrowsersOptions {
13
+ /**
14
+ * Receives progress lines; defaults to stderr. The engine's `prepare` hands
15
+ * the harness's `info.log` here, so a first-run download narrates through
16
+ * the reporter rather than underneath it.
17
+ */
18
+ readonly log?: (line: string) => void;
19
+ /**
20
+ * Injected detection for tests; defaults to an executable existence check.
21
+ * Undefined means "cannot tell here": the installer runs and decides.
22
+ */
23
+ readonly isInstalled?: (name: BrowserName) => boolean | undefined;
24
+ /** Injected installer for tests; defaults to spawning the Playwright CLI. */
25
+ readonly install?: (names: readonly BrowserName[], context: InstallContext) => Promise<void>;
26
+ /** Aborts a download in progress; the run's interrupt owns it. */
27
+ readonly signal?: AbortSignal;
28
+ /** The run's environment; defaults to this process's. */
29
+ readonly env?: NodeJS.ProcessEnv;
30
+ }
31
+ /**
32
+ * Ensures the given Playwright browsers are installed, downloading any
33
+ * missing ones via `playwright install`. Called from the engine's `prepare`,
34
+ * once per run before any worker starts, so a download is never charged
35
+ * against a launch timeout and never runs once per worker. Concurrent
36
+ * installs (two runs at once) are still safe: the Playwright CLI serializes
37
+ * them with a registry lock.
38
+ */
39
+ export declare function ensureBrowsersInstalled(names: readonly BrowserName[], options?: EnsureBrowsersOptions): Promise<void>;
40
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAOhE,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAyBxE,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C,0GAA0G;IAC1G,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,GAAG,SAAS,CAAC;IAClE,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7F,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,117 @@
1
+ /** First-run browser provisioning for the Playwright engine. */
2
+ import { spawn } from 'node:child_process';
3
+ import { existsSync } from 'node:fs';
4
+ import { createRequire } from 'node:module';
5
+ import path from 'node:path';
6
+ import { EngineError, InfrastructureError } from 'e2e/engine';
7
+ import { browserType } from './browser-connection.js';
8
+ /**
9
+ * Whether the browser's executable exists on disk, or undefined when this
10
+ * process cannot tell. Playwright resolves its browser cache from
11
+ * `PLAYWRIGHT_BROWSERS_PATH` at module load, so the in-process check is only
12
+ * authoritative when the run's environment agrees with this process's. A run
13
+ * pointed at another cache is left to the CLI, which resolves against the
14
+ * environment it is spawned with and is a no-op when nothing is missing.
15
+ */
16
+ function isBrowserInstalled(name, env) {
17
+ if (env['PLAYWRIGHT_BROWSERS_PATH'] !== process.env['PLAYWRIGHT_BROWSERS_PATH'])
18
+ return undefined;
19
+ try {
20
+ return existsSync(browserType(name).executablePath());
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ /** Resolves the `playwright` CLI entry point relative to this package. */
27
+ function playwrightCliPath() {
28
+ const require = createRequire(import.meta.url);
29
+ return path.join(path.dirname(require.resolve('playwright/package.json')), 'cli.js');
30
+ }
31
+ /**
32
+ * Ensures the given Playwright browsers are installed, downloading any
33
+ * missing ones via `playwright install`. Called from the engine's `prepare`,
34
+ * once per run before any worker starts, so a download is never charged
35
+ * against a launch timeout and never runs once per worker. Concurrent
36
+ * installs (two runs at once) are still safe: the Playwright CLI serializes
37
+ * them with a registry lock.
38
+ */
39
+ export async function ensureBrowsersInstalled(names, options = {}) {
40
+ const env = options.env ?? process.env;
41
+ const isInstalled = options.isInstalled ?? ((name) => isBrowserInstalled(name, env));
42
+ const verdicts = new Map([...new Set(names)].map((name) => [name, isInstalled(name)]));
43
+ const missing = [...verdicts.keys()].filter((name) => verdicts.get(name) !== true);
44
+ if (missing.length === 0)
45
+ return;
46
+ // The headline is only honest when every listed browser is known to be
47
+ // absent; when the verdict is the CLI's, its own output tells the story
48
+ // and says nothing when there is nothing to fetch.
49
+ const knownMissing = missing.every((name) => verdicts.get(name) === false);
50
+ const log = options.log ?? ((line) => process.stderr.write(`${line}\n`));
51
+ if (knownMissing)
52
+ log(`Downloading missing Playwright browsers (first run): ${missing.join(', ')}...`);
53
+ const install = options.install ?? runPlaywrightInstall;
54
+ await install(missing, { log, signal: options.signal, env });
55
+ if (knownMissing)
56
+ log('Browser download complete.');
57
+ }
58
+ /**
59
+ * Forwards a child's stdout or stderr to `log` one complete line at a time.
60
+ * The Playwright CLI redraws its progress bar with carriage returns when it
61
+ * has a terminal; with a pipe it prints whole lines, but the splitter accepts
62
+ * both so no partial redraw ever reaches the reporter.
63
+ */
64
+ function forwardLines(stream, log) {
65
+ let pending = '';
66
+ const flush = (text) => {
67
+ for (const line of text.split(/\r\n|\n|\r/)) {
68
+ const trimmed = line.trimEnd();
69
+ if (trimmed !== '')
70
+ log(trimmed);
71
+ }
72
+ };
73
+ stream.setEncoding('utf8');
74
+ stream.on('data', (chunk) => {
75
+ pending += chunk;
76
+ const cut = Math.max(pending.lastIndexOf('\n'), pending.lastIndexOf('\r'));
77
+ if (cut === -1)
78
+ return;
79
+ flush(pending.slice(0, cut + 1));
80
+ pending = pending.slice(cut + 1);
81
+ });
82
+ stream.on('end', () => flush(pending));
83
+ }
84
+ /** Spawns `node <playwright>/cli.js install <names>`, narrating its output through `log`. */
85
+ function runPlaywrightInstall(names, { log, signal, env }) {
86
+ return new Promise((resolve, reject) => {
87
+ if (signal?.aborted === true) {
88
+ reject(new EngineError('CANCELLED', 'browser install cancelled', { retryable: false }));
89
+ return;
90
+ }
91
+ const child = spawn(process.execPath, [playwrightCliPath(), 'install', ...names], {
92
+ stdio: ['ignore', 'pipe', 'pipe'],
93
+ env,
94
+ });
95
+ forwardLines(child.stdout, log);
96
+ forwardLines(child.stderr, log);
97
+ const onAbort = () => {
98
+ child.kill();
99
+ reject(new EngineError('CANCELLED', 'browser install cancelled', { retryable: false }));
100
+ };
101
+ signal?.addEventListener('abort', onAbort, { once: true });
102
+ child.on('exit', () => signal?.removeEventListener('abort', onAbort));
103
+ child.on('error', (cause) => {
104
+ reject(new InfrastructureError('BROWSER_INSTALL_FAILED', `failed to run playwright install: ${cause.message}`, {
105
+ cause,
106
+ }));
107
+ });
108
+ child.on('exit', (code) => {
109
+ if (code === 0) {
110
+ resolve();
111
+ return;
112
+ }
113
+ reject(new InfrastructureError('BROWSER_INSTALL_FAILED', `playwright install ${names.join(' ')} exited with code ${String(code)}; run "npx playwright install ${names.join(' ')}" manually`));
114
+ });
115
+ });
116
+ }
117
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The selector engine an exact label query resolves through, standing alone
3
+ * and inside Playwright's own chain (a scope for child queries, a `has`
4
+ * filter) alike: it runs the reader on every labelable control under the
5
+ * query root and keeps the ones labelled with the pattern, in the one task
6
+ * that finds them. A control the page replaces a frame later is then no
7
+ * candidate of a query for another label and cannot make it re-resolve.
8
+ * Playwright's `getByLabel` could not stand in for it: its exact form reads a
9
+ * label's aria-hidden text and misses `Display name*`, and its substring form
10
+ * accepts `Last Name` for `Name`.
11
+ */
12
+ /** Playwright selector engine name; `e2e-label=<json>` matches the controls one exact label names. */
13
+ export declare const EXACT_LABEL_SELECTOR_ENGINE = "e2e-label";
14
+ /** What the selector body carries into the page: the label to equal and the reader's options. */
15
+ export interface ExactLabelSelectorBody {
16
+ readonly value: string;
17
+ readonly testIdAttribute: string;
18
+ readonly secureFieldSelector: string;
19
+ }
20
+ /**
21
+ * The selector for the controls whose label reads exactly `body.value`. The
22
+ * body is JSON: Playwright's selector parser keeps a quoted region whole, so
23
+ * the quotes and `>>` a label may contain travel inside the JSON strings.
24
+ */
25
+ export declare function exactLabelSelector(body: ExactLabelSelectorBody): string;
26
+ /**
27
+ * The engine behind `e2e-label=<json>`: the labelable controls under the query
28
+ * root, across the closed shadow roots recorded under it, whose labels as the
29
+ * reader names them (`RawNodeData.labels`) include the body's value once both
30
+ * are whitespace-normalized, the comparison the surface makes with
31
+ * `matchesText` on an exact string pattern. Reading a node's semantics for
32
+ * each candidate is what the standalone query pays too. The reader is embedded
33
+ * as source because a selector engine, like the reader, is one self-contained
34
+ * page function.
35
+ */
36
+ export declare const EXACT_LABEL_SELECTOR_ENGINE_SOURCE: string;
37
+ //# sourceMappingURL=label-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-selector.d.ts","sourceRoot":"","sources":["../src/label-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,sGAAsG;AACtG,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAUvD,iGAAiG;AACjG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAEvE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC,QAY7C,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The selector engine an exact label query resolves through, standing alone
3
+ * and inside Playwright's own chain (a scope for child queries, a `has`
4
+ * filter) alike: it runs the reader on every labelable control under the
5
+ * query root and keeps the ones labelled with the pattern, in the one task
6
+ * that finds them. A control the page replaces a frame later is then no
7
+ * candidate of a query for another label and cannot make it re-resolve.
8
+ * Playwright's `getByLabel` could not stand in for it: its exact form reads a
9
+ * label's aria-hidden text and misses `Display name*`, and its substring form
10
+ * accepts `Last Name` for `Name`.
11
+ */
12
+ import { CLOSED_SHADOW_HELPERS_SOURCE } from './closed-shadow.js';
13
+ import { readSemanticsFunction } from './in-page/read-semantics.js';
14
+ /** Playwright selector engine name; `e2e-label=<json>` matches the controls one exact label names. */
15
+ export const EXACT_LABEL_SELECTOR_ENGINE = 'e2e-label';
16
+ /**
17
+ * Every control `getByLabel` can name: labelable form controls plus anything
18
+ * carrying its own label attributes. The candidates of an exact label query;
19
+ * the engine below keeps those whose labels match.
20
+ */
21
+ const LABELABLE_SELECTOR = 'button, input:not([type="hidden"]), textarea, select, meter, output, progress, [aria-label], [aria-labelledby]';
22
+ /**
23
+ * The selector for the controls whose label reads exactly `body.value`. The
24
+ * body is JSON: Playwright's selector parser keeps a quoted region whole, so
25
+ * the quotes and `>>` a label may contain travel inside the JSON strings.
26
+ */
27
+ export function exactLabelSelector(body) {
28
+ return `${EXACT_LABEL_SELECTOR_ENGINE}=${JSON.stringify(body)}`;
29
+ }
30
+ /**
31
+ * The engine behind `e2e-label=<json>`: the labelable controls under the query
32
+ * root, across the closed shadow roots recorded under it, whose labels as the
33
+ * reader names them (`RawNodeData.labels`) include the body's value once both
34
+ * are whitespace-normalized, the comparison the surface makes with
35
+ * `matchesText` on an exact string pattern. Reading a node's semantics for
36
+ * each candidate is what the standalone query pays too. The reader is embedded
37
+ * as source because a selector engine, like the reader, is one self-contained
38
+ * page function.
39
+ */
40
+ export const EXACT_LABEL_SELECTOR_ENGINE_SOURCE = `() => {${CLOSED_SHADOW_HELPERS_SOURCE}
41
+ const read = (${readSemanticsFunction.toString()});
42
+ const normalize = (text) => text.replace(/\\s+/gu, ' ').trim();
43
+ const queryAll = (root, selector) => {
44
+ const body = JSON.parse(selector);
45
+ const expected = normalize(body.value);
46
+ const options = { testIdAttribute: body.testIdAttribute, secureFieldSelector: body.secureFieldSelector, mode: { kind: 'node' } };
47
+ const candidates = matchesIn(root, ${JSON.stringify(LABELABLE_SELECTOR)}, []);
48
+ for (const closed of closedRootsUnder(root, [])) matchesIn(closed, ${JSON.stringify(LABELABLE_SELECTOR)}, candidates);
49
+ return candidates.filter((el) => (read(el, options).labels ?? []).some((label) => normalize(label) === expected));
50
+ };
51
+ return { queryAll, query: (root, selector) => queryAll(root, selector)[0] ?? null };
52
+ }`;
53
+ //# sourceMappingURL=label-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-selector.js","sourceRoot":"","sources":["../src/label-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,sGAAsG;AACtG,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAEvD;;;;GAIG;AACH,MAAM,kBAAkB,GACtB,gHAAgH,CAAC;AASnH;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,OAAO,GAAG,2BAA2B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,4BAA4B;kBACtE,qBAAqB,CAAC,QAAQ,EAAE;;;;;;yCAMT,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;yEACF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;;;;EAIzG,CAAC"}
@@ -0,0 +1,76 @@
1
+ /** LocatorExpression -> Playwright locator projection. */
2
+ import type { Locator as PwLocator, Page } from 'playwright';
3
+ import { type LocatorExpression, type TextPattern } from 'e2e/engine';
4
+ /** One positional step applied after display-value filtering. */
5
+ export type PositionalStep = 'first' | 'last' | number;
6
+ type PwFilterOptions = NonNullable<Parameters<PwLocator['filter']>[0]>;
7
+ /**
8
+ * One step a display-value projection applies after its candidates are
9
+ * value-filtered, in expression order: a position among the matches, or a
10
+ * per-element filter that came after a position and so could not compose onto
11
+ * the candidate locator.
12
+ */
13
+ export type PostStep = {
14
+ readonly kind: 'index';
15
+ readonly index: PositionalStep;
16
+ } | {
17
+ readonly kind: 'filter';
18
+ readonly options: PwFilterOptions;
19
+ };
20
+ export interface ProjectedLocator {
21
+ /**
22
+ * The Playwright locator to resolve. For a display-value query this is the
23
+ * candidate set (every form control in scope), not the matches: Playwright
24
+ * has no selector for a control's current value, so the value predicate can
25
+ * only run after the candidates are read.
26
+ */
27
+ readonly locator: PwLocator;
28
+ /** Non-null when the terminal query filters by display value. */
29
+ readonly displayValue: TextPattern | null;
30
+ /**
31
+ * Non-null when the terminal query is an exact label query: `locator` holds
32
+ * the controls the `e2e-label` engine found labelled with the pattern, and
33
+ * the surface reads them and keeps those still labelled with it: an
34
+ * associated label (an `aria-label`, an `aria-labelledby` target, or a
35
+ * `<label>`) whose accessible-name text equals the pattern. Playwright's own
36
+ * `getByLabel` reads a label's full text, aria-hidden included, so a
37
+ * required-field marker made `getByLabel('Display name')` miss
38
+ * `Display name*`; the engine's reader drops such text.
39
+ */
40
+ readonly name: TextPattern | null;
41
+ /**
42
+ * The Playwright locator to compose with as a scope or `has` filter, for a
43
+ * projection whose own predicate lives outside Playwright's chain. An exact
44
+ * label query composes as its `locator`, whose `e2e-label` engine runs the
45
+ * reader's label predicate inside the page, so a `has` filter keeps the row
46
+ * the label names and no row whose label merely contains it.
47
+ * Null for a display-value projection, which has no such equivalent and is
48
+ * rejected instead.
49
+ */
50
+ readonly composable: PwLocator | null;
51
+ /**
52
+ * Steps to apply to the value-filtered matches, innermost first. Always
53
+ * empty when `displayValue` is null, because the projection then composes
54
+ * positions and filters natively onto the locator.
55
+ */
56
+ readonly steps: readonly PostStep[];
57
+ /**
58
+ * True when the terminal query keeps only nodes whose `hidden` state is
59
+ * false. The surface applies it to the batch read before the display-value
60
+ * predicate and any post step, so a position is taken among shown matches.
61
+ */
62
+ readonly visible: boolean;
63
+ }
64
+ /** Projects an expression onto the page; `testIdAttribute` is what a `testId` query reads. */
65
+ export declare function projectExpression(page: Page, expression: LocatorExpression, testIdAttribute: string): ProjectedLocator;
66
+ /**
67
+ * Applies post steps, innermost first, to an ordered list of matches. `nth`
68
+ * past the end selects nothing, matching Playwright's `nth` on a locator with
69
+ * too few matches. A filter step keeps the matches `passesFilter` accepts;
70
+ * it runs only on the matches that survived the steps before it.
71
+ */
72
+ export declare function applyPostSteps<T>(matches: readonly T[], steps: readonly PostStep[], passesFilter: (match: T, options: PwFilterOptions) => Promise<boolean>): Promise<readonly T[]>;
73
+ /** Returns every frame selector along an expression, outermost first. */
74
+ export declare function frameSelectors(expression: LocatorExpression): string[];
75
+ export {};
76
+ //# sourceMappingURL=locators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../src/locators.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,KAAK,EAAgB,OAAO,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAe,KAAK,iBAAiB,EAAsB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAgIvG,iEAAiE;AACjE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,KAAK,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AA4BnE,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAoGD,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,MAAM,GACtB,gBAAgB,CAElB;AAkBD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,GACrE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAiBvB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAYtE"}