@e2e-dev/web 0.11.0-canary-20260928184528 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +17 -14
  2. package/dist/.build.json +1 -1
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +24 -4
  5. package/dist/actions.js.map +1 -1
  6. package/dist/attempt-session.d.ts +38 -3
  7. package/dist/attempt-session.d.ts.map +1 -1
  8. package/dist/attempt-session.js +71 -16
  9. package/dist/attempt-session.js.map +1 -1
  10. package/dist/browser-connection.d.ts.map +1 -1
  11. package/dist/browser-connection.js +12 -1
  12. package/dist/browser-connection.js.map +1 -1
  13. package/dist/{web.d.ts → browser.d.ts} +18 -9
  14. package/dist/browser.d.ts.map +1 -0
  15. package/dist/{web.js → browser.js} +35 -19
  16. package/dist/browser.js.map +1 -0
  17. package/dist/downloads.d.ts +29 -0
  18. package/dist/downloads.d.ts.map +1 -0
  19. package/dist/downloads.js +74 -0
  20. package/dist/downloads.js.map +1 -0
  21. package/dist/engine.d.ts +2 -2
  22. package/dist/engine.d.ts.map +1 -1
  23. package/dist/engine.js +113 -18
  24. package/dist/engine.js.map +1 -1
  25. package/dist/in-page/read-semantics.d.ts.map +1 -1
  26. package/dist/in-page/read-semantics.js +143 -34
  27. package/dist/in-page/read-semantics.js.map +1 -1
  28. package/dist/index.d.ts +19 -10
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +7 -5
  31. package/dist/index.js.map +1 -1
  32. package/dist/locators.d.ts.map +1 -1
  33. package/dist/locators.js +26 -7
  34. package/dist/locators.js.map +1 -1
  35. package/dist/protected-app.d.ts +6 -2
  36. package/dist/protected-app.d.ts.map +1 -1
  37. package/dist/protected-app.js +18 -5
  38. package/dist/protected-app.js.map +1 -1
  39. package/dist/provider-video.d.ts +48 -0
  40. package/dist/provider-video.d.ts.map +1 -0
  41. package/dist/provider-video.js +80 -0
  42. package/dist/provider-video.js.map +1 -0
  43. package/dist/provider.d.ts +100 -5
  44. package/dist/provider.d.ts.map +1 -1
  45. package/dist/provider.js +148 -14
  46. package/dist/provider.js.map +1 -1
  47. package/dist/surface.d.ts +57 -13
  48. package/dist/surface.d.ts.map +1 -1
  49. package/dist/surface.js +41 -10
  50. package/dist/surface.js.map +1 -1
  51. package/dist/video.d.ts +34 -10
  52. package/dist/video.d.ts.map +1 -1
  53. package/dist/video.js +19 -10
  54. package/dist/video.js.map +1 -1
  55. package/package.json +4 -4
  56. package/dist/web.d.ts.map +0 -1
  57. package/dist/web.js.map +0 -1
@@ -260,11 +260,92 @@ export const readSemanticsFunction = (element, options) => {
260
260
  /** Computed style of any element, SVG included, or undefined in a document with no view. */
261
261
  const styleOf = (el) => el.ownerDocument.defaultView?.getComputedStyle(el);
262
262
  /** A walk from the top, with the elements that may not contribute again already visited. */
263
- const nameWalk = (visited) => ({
263
+ const nameWalk = (visited, generated) => ({
264
264
  inReference: false,
265
265
  hiddenAllowed: false,
266
266
  visited: new Set(visited),
267
+ generated,
267
268
  });
269
+ /**
270
+ * Private-use code points: icon-font glyphs (Font Awesome's `\f090`) that
271
+ * render as a picture and read as nothing a person could type. Each one
272
+ * becomes a space once a name is computed, so `<button><i class="fa
273
+ * fa-sign-in"></i> Login</button>` is the button "Login" and the role
274
+ * locator, which tolerates them where a name has a space or begins or
275
+ * ends, finds it by that.
276
+ */
277
+ const ICON_GLYPHS = /\p{Co}/gu;
278
+ /** A computed name or label as the tree reports it: each icon glyph a space, whitespace collapsed. */
279
+ const withoutGlyphs = (name) => {
280
+ const spaced = name.replace(ICON_GLYPHS, ' ');
281
+ return spaced === name ? name : spaced.replace(/\s+/g, ' ').trim();
282
+ };
283
+ /**
284
+ * An element's name as the tree reports it. A name of icon glyphs alone
285
+ * (`<button title="Delete"><i class="fa fa-trash"></i></button>`, which the
286
+ * browser names by the glyph) falls back to the element's `title`, the
287
+ * word a person hovering it reads, else to no name.
288
+ */
289
+ const reportedName = (el, name) => {
290
+ if (name === null)
291
+ return null;
292
+ const shown = withoutGlyphs(name);
293
+ if (shown !== '' || shown === name)
294
+ return shown;
295
+ const title = (el.getAttribute('title') ?? '').trim();
296
+ return title === '' ? null : title;
297
+ };
298
+ /**
299
+ * The text a `content` value contributes, as Playwright's role selector
300
+ * reads it: its strings and `attr()` values, or only the alternative text
301
+ * after a `/`. Contributing anything else (an image, a counter, a quote)
302
+ * makes it contribute nothing.
303
+ */
304
+ const contentTextOf = (el, value) => {
305
+ const tokens = [];
306
+ const token = /\s*("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|[-\w]+\((?:[^()"']|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|\/|[-\w]+)/gy;
307
+ let match;
308
+ let end = 0;
309
+ while ((match = token.exec(value)) !== null) {
310
+ tokens.push(match[1]);
311
+ end = token.lastIndex;
312
+ }
313
+ if (value.slice(end).trim() !== '')
314
+ return null;
315
+ let text = '';
316
+ for (const part of tokens.slice(tokens.lastIndexOf('/') + 1)) {
317
+ const attribute = /^attr\(\s*([-\w]+)\s*\)$/.exec(part);
318
+ if (attribute !== null)
319
+ text += el.getAttribute(attribute[1]) ?? '';
320
+ else if (part.startsWith('"') || part.startsWith("'")) {
321
+ text += part.slice(1, -1).replace(/\\([0-9a-fA-F]{1,6})\s?|\\(.)/g, (_all, hex, char) => hex === undefined ? char : String.fromCodePoint(Number.parseInt(hex, 16)));
322
+ }
323
+ else
324
+ return null;
325
+ }
326
+ return text;
327
+ };
328
+ /**
329
+ * What an element's `::before` or `::after` adds to a name (accname 2F.ii):
330
+ * its content's text, spaced like a block when the pseudo element is not
331
+ * inline; empty when it shows nothing.
332
+ */
333
+ const generatedContentOf = (el, pseudo) => {
334
+ const style = el.ownerDocument.defaultView?.getComputedStyle(el, pseudo);
335
+ if (style === undefined || style.display === 'none' || style.visibility === 'hidden')
336
+ return '';
337
+ const value = style.content;
338
+ if (value === '' || value === 'none' || value === 'normal')
339
+ return '';
340
+ const text = contentTextOf(el, value);
341
+ if (text === null)
342
+ return '';
343
+ return style.display === 'inline' ? text : ` ${text} `;
344
+ };
345
+ /** An element's `::before` contribution, once per read: nested named-from-content roles walk the same descendants again. */
346
+ const beforeContentOf = memoized((el) => generatedContentOf(el, '::before'));
347
+ /** An element's `::after` contribution, once per read. */
348
+ const afterContentOf = memoized((el) => generatedContentOf(el, '::after'));
268
349
  /** True for a subtree the name computation drops: aria-hidden, or hidden by style as innerText leaves it out. */
269
350
  const isNameHidden = (el, style) => el.getAttribute('aria-hidden') === 'true' ||
270
351
  (style !== undefined && (style.display === 'none' || style.visibility === 'hidden'));
@@ -292,10 +373,12 @@ export const readSemanticsFunction = (element, options) => {
292
373
  };
293
374
  /**
294
375
  * Each aria-labelledby target's contribution (accname 2B), in attribute
295
- * order, unnamed targets dropped; null when the element references nothing
296
- * that names it. A hidden target is read whole, as a screen reader reads it,
297
- * and a reference inside a target is not followed, so this is null inside a
298
- * reference traversal too.
376
+ * order, unnamed targets dropped; null when the targets' joined text is
377
+ * empty, so the element names itself. The join is untrimmed, as Playwright
378
+ * reads it: a target holding only whitespace, or two unnamed targets, end
379
+ * the computation with no names. A hidden target is read whole, as a screen
380
+ * reader reads it, and a reference inside a target is not followed, so this
381
+ * is null inside a reference traversal too.
299
382
  */
300
383
  const referencedNamesOf = (el, walk) => {
301
384
  if (walk.inReference)
@@ -303,22 +386,21 @@ export const readSemanticsFunction = (element, options) => {
303
386
  const ids = (el.getAttribute('aria-labelledby') ?? '').trim();
304
387
  if (ids === '')
305
388
  return null;
306
- const names = [];
389
+ const contributions = [];
307
390
  for (const id of ids.split(/\s+/)) {
308
391
  const target = referencedElementOf(el, id);
309
392
  if (target === null)
310
393
  continue;
311
- const name = contentNameOf(target, styleOf(target), {
394
+ contributions.push(contentNameOf(target, styleOf(target), {
312
395
  inReference: true,
313
396
  hiddenAllowed: isReferenceHidden(target),
314
397
  visited: walk.visited,
315
- })
316
- .replace(/\s+/g, ' ')
317
- .trim();
318
- if (name !== '')
319
- names.push(name);
398
+ generated: walk.generated,
399
+ }));
320
400
  }
321
- return names.length === 0 ? null : names;
401
+ if (contributions.join(' ') === '')
402
+ return null;
403
+ return contributions.map((text) => text.replace(/\s+/g, ' ').trim()).filter((name) => name !== '');
322
404
  };
323
405
  /**
324
406
  * What one element contributes to a name computed through another: as an
@@ -329,6 +411,10 @@ export const readSemanticsFunction = (element, options) => {
329
411
  * `<svg aria-labelledby="t"><title id="t">Close</title></svg>` is "Close",
330
412
  * and a hidden `<span>` a button references still names it. A form
331
413
  * control's content is its value, not label text, so it contributes nothing.
414
+ * The title is the fallback only for empty content, untrimmed as Playwright
415
+ * reads it: the spaces a block-level child adds count, so a flex container's
416
+ * blockified icon keeps the container's `title` out of the name, the name
417
+ * `getByRole` then fails to match.
332
418
  */
333
419
  const contentNameOf = (el, style, walk) => {
334
420
  if (walk.visited.has(el))
@@ -348,7 +434,7 @@ export const readSemanticsFunction = (element, options) => {
348
434
  if (NAME_OPAQUE_TAGS.has(el.tagName))
349
435
  return '';
350
436
  const content = childrenNameOf(el, walk);
351
- if (content.trim() !== '')
437
+ if (content !== '')
352
438
  return content;
353
439
  const title = el.getAttribute('title');
354
440
  return title === null ? '' : title.trim();
@@ -358,10 +444,12 @@ export const readSemanticsFunction = (element, options) => {
358
444
  * them: a space on each side of a block-level child and of a `<br>`, none
359
445
  * around an inline one. `<img alt="Search">Go` reads "SearchGo" and
360
446
  * `<div>A</div><div>B</div>` reads "A B", so the name a role query matched
361
- * is the name the node reports.
447
+ * is the name the node reports. An accessible name wraps them in the
448
+ * element's generated content, so `<button class="next">Go</button>` with
449
+ * `.next::after { content: " \2192" }` is the button "Go →".
362
450
  */
363
451
  const childrenNameOf = (el, walk) => {
364
- let out = '';
452
+ let out = walk.generated ? beforeContentOf(el) : '';
365
453
  for (const child of contentChildrenOf(el)) {
366
454
  if (child.nodeType === 3) {
367
455
  out += child.nodeValue ?? '';
@@ -374,7 +462,7 @@ export const readSemanticsFunction = (element, options) => {
374
462
  const block = child.tagName === 'BR' || (style?.display ?? 'inline') !== 'inline';
375
463
  out += block ? ` ${token} ` : token;
376
464
  }
377
- return out;
465
+ return walk.generated ? out + afterContentOf(el) : out;
378
466
  };
379
467
  /**
380
468
  * The nodes a name from content reads under an element, in the order the
@@ -408,14 +496,15 @@ export const readSemanticsFunction = (element, options) => {
408
496
  * its descendants' contributions, hidden and aria-hidden subtrees dropped (a
409
497
  * required-field marker, a decorative glyph), whitespace collapsed. The
410
498
  * element's own attributes are `accessibleName`'s business; this reads what
411
- * is inside it.
499
+ * is inside it. `generated` reads CSS generated content too, as an
500
+ * accessible name does and label text does not.
412
501
  */
413
- const nameTextOf = (el) => {
502
+ const nameTextOf = (el, generated) => {
414
503
  if (isNameHidden(el, styleOf(el)))
415
504
  return '';
416
505
  if (NAME_OPAQUE_TAGS.has(el.tagName))
417
506
  return '';
418
- return childrenNameOf(el, nameWalk([el])).replace(/\s+/g, ' ').trim();
507
+ return childrenNameOf(el, nameWalk([el], generated)).replace(/\s+/g, ' ').trim();
419
508
  };
420
509
  const NAME_OPAQUE_TAGS = new Set(['TEXTAREA', 'SELECT', 'INPUT', 'SCRIPT', 'STYLE']);
421
510
  /**
@@ -459,14 +548,15 @@ export const readSemanticsFunction = (element, options) => {
459
548
  const ariaLabel = el.getAttribute('aria-label');
460
549
  if (ariaLabel !== null && ariaLabel.trim() !== '')
461
550
  labels.push(ariaLabel.trim());
462
- for (const name of referencedNamesOf(el, nameWalk([])) ?? [])
551
+ for (const name of referencedNamesOf(el, nameWalk([], false)) ?? [])
463
552
  labels.push(name);
464
553
  for (const label of associatedLabels(el)) {
465
- const text = nameTextOf(label);
554
+ const text = nameTextOf(label, false);
466
555
  if (text !== '')
467
556
  labels.push(text);
468
557
  }
469
- return labels.length === 0 ? null : labels;
558
+ const shown = labels.map(withoutGlyphs).filter((label) => label !== '');
559
+ return shown.length === 0 ? null : shown;
470
560
  };
471
561
  /** Text owned directly by an element, excluding descendant elements. */
472
562
  const directTextOf = memoized((el) => {
@@ -479,7 +569,7 @@ export const readSemanticsFunction = (element, options) => {
479
569
  });
480
570
  const accessibleName = memoized((el) => {
481
571
  // accname reads a labelledby reference (2B) before the element's own aria-label (2C).
482
- const referenced = referencedNamesOf(el, nameWalk([]));
572
+ const referenced = referencedNamesOf(el, nameWalk([], true));
483
573
  if (referenced !== null)
484
574
  return referenced.join(' ');
485
575
  const ariaLabel = el.getAttribute('aria-label');
@@ -488,7 +578,7 @@ export const readSemanticsFunction = (element, options) => {
488
578
  const labels = associatedLabels(el);
489
579
  if (labels.length > 0) {
490
580
  const joined = labels
491
- .map((label) => nameTextOf(label))
581
+ .map((label) => nameTextOf(label, true))
492
582
  .join(' ')
493
583
  .trim();
494
584
  if (joined !== '')
@@ -500,7 +590,7 @@ export const readSemanticsFunction = (element, options) => {
500
590
  const captionTag = NAMING_CHILD_TAGS[el.tagName.toLowerCase()];
501
591
  if (captionTag !== undefined) {
502
592
  const caption = Array.from(el.children).find((child) => child.tagName.toLowerCase() === captionTag);
503
- const text = caption === undefined ? '' : nameTextOf(caption);
593
+ const text = caption === undefined ? '' : nameTextOf(caption, true);
504
594
  if (text !== '')
505
595
  return text;
506
596
  }
@@ -515,7 +605,7 @@ export const readSemanticsFunction = (element, options) => {
515
605
  }
516
606
  const role = implicitRole(el);
517
607
  if (role !== null && NAME_FROM_CONTENT_ROLES.has(role)) {
518
- const text = nameTextOf(el);
608
+ const text = nameTextOf(el, true);
519
609
  if (text !== '')
520
610
  return text;
521
611
  }
@@ -750,18 +840,37 @@ export const readSemanticsFunction = (element, options) => {
750
840
  return hasPaint(style);
751
841
  });
752
842
  /**
753
- * Reduces a URL to origin and path, dropping userinfo, query, and fragment.
754
- * Bounded: hrefs are shown to the model as link hints, not resolved, so a
755
- * long path only buys tokens.
843
+ * Reduces a link target to origin and path, dropping userinfo, query, and
844
+ * fragment, which routinely carry tokens. A dropped query or fragment
845
+ * leaves `?…` or `#…` behind, so the value never reads as the whole
846
+ * target when it is not; a URL path never holds a literal `…`, since the
847
+ * URL parser percent-encodes it. `mailto:` and `tel:` keep their scheme in
848
+ * place of an origin; `blob:` keeps its inner URL, reduced the same way, or
849
+ * becomes `blob:…` when that has no origin. Any other scheme with no
850
+ * origin (`data:`, `javascript:`) carries its payload as its path, a whole
851
+ * file or script, so it is reduced to `scheme:…`. The path is whole
852
+ * otherwise: the harness bounds what it renders after redaction, and marks
853
+ * what it cuts.
756
854
  */
757
- const HREF_LIMIT = 80;
758
855
  const originAndPath = (value, base) => {
856
+ const elided = (query, fragment) => `${query ? '?…' : ''}${fragment ? '#…' : ''}`;
759
857
  try {
760
858
  const url = new URL(value, base);
761
- return `${url.origin}${url.pathname}`.slice(0, HREF_LIMIT);
859
+ const rest = `${url.pathname}${elided(url.search !== '', url.hash !== '')}`;
860
+ if (url.protocol === 'blob:') {
861
+ const inner = URL.canParse(url.pathname) ? new URL(url.pathname) : null;
862
+ return inner === null || inner.origin === 'null' ? 'blob:…' : `blob:${inner.origin}${inner.pathname}${elided(url.search !== '', url.hash !== '')}`;
863
+ }
864
+ if (url.origin !== 'null')
865
+ return `${url.origin}${rest}`;
866
+ if (url.protocol === 'mailto:' || url.protocol === 'tel:')
867
+ return `${url.protocol}${rest}`;
868
+ return `${url.protocol}…`;
762
869
  }
763
870
  catch {
764
- return (value.split('?')[0]?.split('#')[0] ?? '').slice(0, HREF_LIMIT);
871
+ const [beforeFragment = '', ...fragment] = value.split('#');
872
+ const [path = '', ...query] = beforeFragment.split('?');
873
+ return `${path}${elided(query.join('?') !== '', fragment.join('#') !== '')}`;
765
874
  }
766
875
  };
767
876
  /** Attributes that name an element rather than describe where it sits. */
@@ -997,7 +1106,7 @@ export const readSemanticsFunction = (element, options) => {
997
1106
  text = textOf(el);
998
1107
  if (projection.textLimit !== null)
999
1108
  text = text.slice(0, projection.textLimit);
1000
- let name = accessibleName(el);
1109
+ let name = reportedName(el, accessibleName(el));
1001
1110
  if (projection.nameLimit !== null && name !== null)
1002
1111
  name = name.slice(0, projection.nameLimit);
1003
1112
  // A secure field withholds its value, never its labels: a password field is still found by its label.
@@ -1 +1 @@
1
- {"version":3,"file":"read-semantics.js","sourceRoot":"","sources":["../../src/in-page/read-semantics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-semantics.js","sourceRoot":"","sources":["../../src/in-page/read-semantics.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,22 +1,31 @@
1
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.
2
+ * `@e2e-dev/web` public surface: the `web()` engine factory, the `browser`
3
+ * fixture types, and `test`, `describe`, and the hooks typed with that
4
+ * fixture, so a test file registers from one import. `expect`,
5
+ * `credentials`, and `secrets` come from `e2e` itself.
6
6
  */
7
- import type { Web } from './web.ts';
7
+ import type { Browser } from './browser.ts';
8
8
  export { web, surfaceOf } from './engine.ts';
9
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';
10
+ export type { WebBasicAuth, WebConnectOptions, WebOptions, WebScreencastOptions } from './surface.ts';
11
+ export type { BrowserDownloadContext, BrowserLease, BrowserProvider, BrowserProviderDownloads, BrowserProviderScope, BrowserReleaseContext, BrowserRequest, } from './provider.ts';
12
12
  export type { BrowserName } from './browser-connection.ts';
13
13
  export type { Dialog, DialogHandler } from './dialogs.ts';
14
- export type { Cookie, CookieFields, FrameScreen, RouteFulfillResponse, Web, WebExpectation, WebResponse, WebRoute, } from './web.ts';
14
+ export type { Browser, BrowserExpectation, Cookie, CookieFields, FrameScreen, RouteFulfillResponse, WebResponse, WebRoute, } from './browser.ts';
15
15
  /**
16
- * `test` typed with this engine's contributed `web` fixture. The same
16
+ * `test` typed with this engine's contributed `browser` fixture. The same
17
17
  * runtime `test` as `e2e`'s; only the fixture types differ.
18
18
  */
19
19
  export declare const test: import("e2e").TestAPI<import("e2e").TestFixtures & {
20
- web: Web;
20
+ browser: Browser;
21
21
  }>;
22
+ /** `describe` and the hooks, the same functions as `test.describe` and `test.beforeEach`, typed with the `browser` fixture. */
23
+ export declare const describe: {
24
+ <Result>(title: string, body: import("e2e").SynchronousBody<Result>): void;
25
+ <Result>(title: string, options: import("e2e").DescribeOptions, body: import("e2e").SynchronousBody<Result>): void;
26
+ }, beforeEach: (fn: import("e2e").TestHookFn<import("e2e").TestFixtures & {
27
+ browser: Browser;
28
+ }>) => void, afterEach: (fn: import("e2e").TestHookFn<import("e2e").TestFixtures & {
29
+ browser: Browser;
30
+ }>) => void, beforeAll: (fn: import("e2e").SuiteHookFn) => void, afterAll: (fn: import("e2e").SuiteHookFn) => void;
22
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,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,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtG,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,IAAI;aAA0B,OAAO;EAAK,CAAC;AAExD,+HAA+H;AAC/H,eAAO,MAAQ,QAAQ;;;GAAE,UAAU;aAHQ,OAAO;aAGb,SAAS;aAHH,OAAO;aAGF,SAAS,2CAAE,QAAQ,yCAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,16 @@
1
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.
2
+ * `@e2e-dev/web` public surface: the `web()` engine factory, the `browser`
3
+ * fixture types, and `test`, `describe`, and the hooks typed with that
4
+ * fixture, so a test file registers from one import. `expect`,
5
+ * `credentials`, and `secrets` come from `e2e` itself.
6
6
  */
7
7
  import { test as base } from 'e2e';
8
8
  export { web, surfaceOf } from './engine.js';
9
9
  /**
10
- * `test` typed with this engine's contributed `web` fixture. The same
10
+ * `test` typed with this engine's contributed `browser` fixture. The same
11
11
  * runtime `test` as `e2e`'s; only the fixture types differ.
12
12
  */
13
13
  export const test = base.extend();
14
+ /** `describe` and the hooks, the same functions as `test.describe` and `test.beforeEach`, typed with the `browser` fixture. */
15
+ export const { describe, beforeEach, afterEach, beforeAll, afterAll } = test;
14
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +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"}
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;AAyB7C;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAwB,CAAC;AAExD,+HAA+H;AAC/H,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC"}
@@ -1 +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"}
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;AAoJvG,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"}
package/dist/locators.js CHANGED
@@ -41,6 +41,25 @@ function escapeRegexForSelector(re) {
41
41
  const ARIA_ROLE_BY_CONTRACT_ROLE = { image: 'img' };
42
42
  /** Every control that carries a current value: the candidates of a display-value query. */
43
43
  const VALUED_SELECTOR = 'input, textarea, select';
44
+ /** Whitespace or an icon-font glyph (a private-use code point), the characters the tree's names drop or collapse. */
45
+ const GLYPH_OR_SPACE = '[\\s\\p{Co}]';
46
+ /**
47
+ * A role query's string name as a pattern for the name the browser
48
+ * computes, which keeps the private-use glyphs of an icon font the tree
49
+ * drops (`in-page/read-semantics.ts`): "Login" matches the browser's
50
+ * "\uf090 Login", the button a person reads as Login. A glyph may stand
51
+ * wherever the name has a space or begins or ends. Exact is whole and
52
+ * case-sensitive, else a case-insensitive substring, as Playwright matches a
53
+ * string name.
54
+ */
55
+ function glyphTolerantName(name, exact) {
56
+ const body = name
57
+ .trim()
58
+ .split(/\s+/)
59
+ .map((word) => word.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&'))
60
+ .join(`${GLYPH_OR_SPACE}+`);
61
+ return exact ? new RegExp(`^${GLYPH_OR_SPACE}*${body}${GLYPH_OR_SPACE}*$`, 'u') : new RegExp(body, 'iu');
62
+ }
44
63
  /**
45
64
  * The one table of query kinds: each declares its Playwright getter or its
46
65
  * CSS candidate set. An exact label query is the one kind whose candidates
@@ -56,11 +75,6 @@ function candidatesOf(query, testIdAttribute) {
56
75
  });
57
76
  }
58
77
  const options = {};
59
- if (query.name !== undefined) {
60
- options.name = patternToPw(query.name);
61
- if (query.name.kind === 'string')
62
- options.exact = query.name.exact;
63
- }
64
78
  const states = query.states ?? {};
65
79
  if (states.checked !== undefined)
66
80
  options.checked = states.checked;
@@ -74,8 +88,13 @@ function candidatesOf(query, testIdAttribute) {
74
88
  options.pressed = states.pressed;
75
89
  if (query.level !== undefined)
76
90
  options.level = query.level;
77
- const role = ARIA_ROLE_BY_CONTRACT_ROLE[query.value.value] ?? query.value.value;
78
- return { kind: 'playwright', locate: (roots) => roots.getByRole(role, options) };
91
+ const role = (ARIA_ROLE_BY_CONTRACT_ROLE[query.value.value] ?? query.value.value);
92
+ const name = query.name;
93
+ if (name === undefined)
94
+ return { kind: 'playwright', locate: (roots) => roots.getByRole(role, options) };
95
+ if (name.kind === 'regexp')
96
+ return { kind: 'playwright', locate: (roots) => roots.getByRole(role, { ...options, name: patternToPw(name) }) };
97
+ return { kind: 'playwright', locate: (roots) => roots.getByRole(role, { ...options, name: glyphTolerantName(name.value, name.exact) }) };
79
98
  }
80
99
  case 'label':
81
100
  return query.value.kind === 'string' && query.value.exact