[wpt-sync] Sync PR 41229 - CloseWatcher: factor out and expand Esc key tests
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox118 fixed)
Tracking | Status | |
---|---|---|
firefox118 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 41229 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/41229
Details from upstream follow.
Domenic Denicola <domenic@chromium.org> wrote:
CloseWatcher: factor out and expand Esc key tests
Previously, tests which assumed the Esc key was the close signal were
mixed up with tests that were generic for any close signal. Factor out
those tests from basic.html and after-other-listeners.html, and expand
them to cover keyup and keypress in addition to keydown.Bug: 1171318
Change-Id: I09a62b087f5f2b0b7032adbd9f987dca711950a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4721668
Commit-Queue: Domenic Denicola \<domenic@chromium.org>
Reviewed-by: Nate Chapin \<japhet@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1176390}
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Assignee | ||
Comment 3•2 years ago
|
||
Assignee | ||
Comment 4•2 years ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 6 tests and 17 subtests
Status Summary
Firefox
OK
: 6
FAIL
: 37
Chrome
OK
: 6
FAIL
: 37
Safari
OK
: 6
FAIL
: 37
Links
Details
New Tests That Don't Pass
- /close-watcher/basic.html [wpt.fyi]
- requestClose() with no user activation only fires close:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() then requestClose() fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() then requestClose() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() then close signal fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Close signal then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- requestClose() with no user activation only fires close:
- /close-watcher/esc-key.html [wpt.fyi]
- Esc key does not count as user activation, so if it is the sole user interaction, that fires close but not cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keydown listener can prevent the Esc keypress from being interpreted as a close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keyup listener can prevent the Esc keypress from being interpreted as a close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keypress listener can prevent the Esc keypress from being interpreted as a close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close via synthesized Esc key must not work:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Esc key does not count as user activation, so if it is the sole user interaction, that fires close but not cancel:
- /close-watcher/event-properties.html [wpt.fyi]
- cancel and close event properties are correct:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- cancel and close event properties are correct:
- /close-watcher/inside-event-listeners.html [wpt.fyi]
- destroy() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- destroy() inside oncancel:
- /close-watcher/user-activation-multiple-plus-free.html [wpt.fyi]
- Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately:
- /close-watcher/user-activation.html [wpt.fyi]
- CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel, which can be preventDefault()ed:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but close()d via user activation, do not fire cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but closed via a close signal after user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but closed via a close signal after user activation, fires cancel, which can be preventDefault()ed:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Multiple CloseWatchers created without user activation close together (with no cancel):
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation keeps it separate from the free CloseWatcher, but they don't fire cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation, and closing CloseWatchers with a close signal after user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Multiple CloseWatchers created with user activation close in reverse order:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - 3 user activations let you have 3 + 1 = 4 ungrouped close watchers/0 cancel events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - 3 user activations let you have 2 close watchers with 1 cancel event, even if the first cancel event is prevented:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - closing the free CloseWatcher via a close signal allows a new free one to be created without user activation, and it receives a second close signal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The second watcher can be the free watcher, if the first is created with user activation:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The third watcher can be the free watcher, if the first two are created with user activation:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel:
Comment 6•1 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/eaaafbe87d29
https://hg.mozilla.org/mozilla-central/rev/2333a9a4c24f
Description
•