playwright/tests/page
Dmitry Gozman 38fdc5fe24
fix(selectors): refactor chaining logic (#13764)
This fixes a few issues:
- strict mode was producing false negatives if multiple query paths
  lead to the same element being picked;
- in some cases the number of intermediate items in the list was
  exponential and crashed quickly.

What changed:
- `visible` engine is a real engine now;
- `capture` selectors are transformed to `has=` selectors for
  easier implementation;
- chained querying switched from a list to a set to avoid
  exponential size.
2022-04-27 20:51:57 +01:00
..
elementhandle-screenshot.spec.ts-snapshots test: roll to folio@0.4.0-alpha28 (#6918) 2021-06-04 20:54:58 -07:00
locator-misc-2.spec.ts-snapshots test: fix some failing locators tests (#7989) 2021-08-04 23:36:27 +02:00
page-request-fulfill.spec.ts-snapshots test: roll to folio@0.4.0-alpha28 (#6918) 2021-06-04 20:54:58 -07:00
page-screenshot.spec.ts-snapshots feat(screenshot): introduce new "fonts" option for screenshots (#12661) 2022-03-10 16:54:36 -08:00
elementhandle-bounding-box.spec.ts feat(webkit): roll to r1592 (#11261) 2022-01-10 05:02:07 -08:00
elementhandle-click.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
elementhandle-content-frame.spec.ts test: cleanup bad usages of pageTest (#6430) 2021-05-06 07:08:22 -07:00
elementhandle-convenience.spec.ts fix: isDisabled check with option/optgroup (#12437) 2022-03-01 18:10:16 +01:00
elementhandle-eval-on-selector.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
elementhandle-misc.spec.ts feat(api): introduce setChecked convenience method (#8525) 2021-08-29 20:00:40 -07:00
elementhandle-owner-frame.spec.ts test: cleanup bad usages of pageTest (#6430) 2021-05-06 07:08:22 -07:00
elementhandle-press.spec.ts feat(webkit): roll to r1616 (#12541) 2022-03-06 12:22:47 +01:00
elementhandle-query-selector.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
elementhandle-screenshot.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
elementhandle-scroll-into-view.spec.ts feat: make scrollIntoView work with zero-sized elements (#13702) 2022-04-23 21:48:36 +01:00
elementhandle-select-text.spec.ts test: prepare test to use options as passed (#6557) 2021-05-13 10:22:23 -07:00
elementhandle-type.spec.ts feat(webkit): roll to r1616 (#12541) 2022-03-06 12:22:47 +01:00
elementhandle-wait-for-element-state.spec.ts feat(selectors): role selector engine (#12999) 2022-03-28 09:24:58 -07:00
eval-on-selector-all.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
eval-on-selector.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
frame-evaluate.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
frame-frame-element.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
frame-goto.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
frame-hierarchy.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
interception.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
jshandle-as-element.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
jshandle-evaluate.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
jshandle-json-value.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
jshandle-properties.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
jshandle-to-string.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
locator-click.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
locator-convenience.spec.ts test: inputValue works for label selector (#12447) 2022-03-02 09:33:44 -08:00
locator-element-handle.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
locator-evaluate.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
locator-frame.spec.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
locator-highlight.spec.ts test: skip highlight tests on != default mode (#12471) 2022-03-02 23:46:33 +01:00
locator-misc-1.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
locator-misc-2.spec.ts test: fix "should scroll zero-sized element into view" on headed (#13766) 2022-04-26 16:26:53 +01:00
locator-query.spec.ts feat: locator.that (#13731) 2022-04-25 20:06:18 +01:00
matchers.misc.spec.ts fix(expect): do not fail on navigated frames while polling (#9659) 2021-10-20 13:01:05 -07:00
network-post-data.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-accessibility.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-add-init-script.spec.ts fix(addInitScript): tolerate trailing comments (#13275) 2022-04-03 18:47:12 -07:00
page-add-script-tag.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-add-style-tag.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-autowaiting-basic.spec.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
page-autowaiting-no-hang.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-basic.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-check.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-click-during-navigation.spec.ts test: improve click-during-navigation (#11252) 2022-01-07 12:12:24 -08:00
page-click-react.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-click-scroll.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-click-timeout-1.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-click-timeout-2.spec.ts test: fix visibility spelling in test (#11476) 2022-01-19 14:46:27 +01:00
page-click-timeout-3.spec.ts feat(input): perform hit target check during input (#9546) 2021-11-05 17:31:28 -07:00
page-click-timeout-4.spec.ts feat(input): perform hit target check during input (#9546) 2021-11-05 17:31:28 -07:00
page-click.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-close.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-dialog.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-dispatchevent.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-drag.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-emulate-media.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-evaluate-handle.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-evaluate-no-stall.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-evaluate.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-event-console.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-event-crash.spec.ts chore: remove isContextDestroyedError heuristic (#8456) 2021-08-26 18:44:49 -07:00
page-event-network.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-event-pageerror.spec.ts feat(firefox): roll to r1307 (#10605) 2021-11-30 14:26:26 +01:00
page-event-popup.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-event-request.spec.ts test: disable flaky test on wk/ff (#10662) 2021-12-02 07:44:13 -08:00
page-expose-function.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-fill.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-focus.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-goto.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-history.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-keyboard.spec.ts fix: support undo/redo editing commands (#13606) 2022-04-18 22:22:52 -07:00
page-mouse.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-navigation.spec.ts chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
page-network-idle.spec.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
page-network-request.spec.ts feat(route): add cors header in route.fulfill (#12943) 2022-03-25 14:56:57 -07:00
page-network-response.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-network-sizes.spec.ts test: gardening (#11235) 2022-01-07 09:11:54 -08:00
page-request-continue.spec.ts fix: throw in route.continue if it is called twice (#11701) 2022-01-27 14:58:02 -08:00
page-request-fulfill.spec.ts chore: remove PlaywrightClient and Docker factory (#13571) 2022-04-15 12:11:38 -07:00
page-request-intercept.spec.ts test: skip test in electron 2022-02-26 00:17:37 +01:00
page-route.spec.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
page-screenshot.spec.ts feat: support experimental doc entries (#13446) 2022-04-13 16:13:30 -07:00
page-select-option.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-set-content.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-set-extra-http-headers.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
page-set-input-files.spec.ts chore: force localPaths to be resolved (#13544) 2022-04-14 11:19:36 -07:00
page-strict.spec.ts fix: join individual css selectors by > in cssFallback (#13712) 2022-04-25 11:11:24 -07:00
page-wait-for-function.spec.ts fix(evaluate): reject all context operations when frame detaches (#9987) 2021-11-03 10:44:50 -07:00
page-wait-for-load-state.spec.ts fix(frames): networkidle for iframes with quirky urls (#13767) 2022-04-26 17:13:45 +01:00
page-wait-for-navigation.spec.ts fix(webkit): handle will/didCheckPolicyForNavigation (#11631) 2022-01-27 14:58:43 -08:00
page-wait-for-request.spec.ts fix(errors): waitForEvent/Request/Response should point to the api call (#11229) 2022-01-06 14:47:52 -08:00
page-wait-for-response.spec.ts test: response event for cached img elements (#11506) 2022-01-20 14:38:19 +01:00
page-wait-for-selector-1.spec.ts chore(frame-selector): add more tests, use frame logic in element handle (#10097) 2021-11-05 16:36:01 -07:00
page-wait-for-selector-2.spec.ts test: out-of-viewport should be considered visible (#13134) 2022-03-28 16:10:16 -07:00
page-wait-for-url.spec.ts feat: add "commit" to possible waitUntil options (#9892) 2021-11-01 17:12:19 -07:00
pageTest.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
pageTestApi.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
queryselector.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
selectors-css.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
selectors-frame.spec.ts chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
selectors-misc.spec.ts fix(selectors): refactor chaining logic (#13764) 2022-04-27 20:51:57 +01:00
selectors-react.spec.ts feat(selectors): support regular expressions in attribute selectors (#12960) 2022-03-22 17:00:56 -07:00
selectors-role.spec.ts feat(role selector): allow unquoted name attribute (#13224) 2022-04-01 10:08:02 -07:00
selectors-text.spec.ts fix(text selector): ignore non-leading quote when parsing (#13170) 2022-03-30 09:33:32 -07:00
selectors-vue.spec.ts feat(selectors): support regular expressions in attribute selectors (#12960) 2022-03-22 17:00:56 -07:00
wheel.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00
workers.spec.ts test: rename #smoke to @smoke as test tags (#12652) 2022-03-10 19:42:52 +01:00