diff options
Diffstat (limited to 'testing/web-platform/tests/css/selectors/focus-in-focusin-event-001.html')
-rw-r--r-- | testing/web-platform/tests/css/selectors/focus-in-focusin-event-001.html | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/selectors/focus-in-focusin-event-001.html b/testing/web-platform/tests/css/selectors/focus-in-focusin-event-001.html new file mode 100644 index 0000000000..633f4df87e --- /dev/null +++ b/testing/web-platform/tests/css/selectors/focus-in-focusin-event-001.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Selectors Level 4: :focus, :focus-visible and :focus-within in focusin event</title> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#focus-pseudo"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#focus-visible-pseudo"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#focus-within-pseudo"> +<link rel="help" href="https://w3c.github.io/uievents/#event-type-focusin"> +<meta name='author' title='Manuel Rego Casasnovas' href='mailto:rego@igalia.com'> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<input type="text"> +<script> +var input = document.querySelector('input'); +input.addEventListener('focusin', function(e) { + test(() => { + try { + var focusPseudo = document.querySelector(':focus'); + assert_equals(e.target, focusPseudo, "':focus' matches event.target"); + } catch (error) { + assert_unreached("':focus' is an invalid selector. SyntaxError: " + error); + } + }, "Checks that ':focus' pseudo-class matches inside 'focusin' event handler"); + test(() => { + try { + var focusVisiblePseudo = document.querySelector(':focus-visible'); + assert_equals(e.target, focusVisiblePseudo, "':focus-visible' matches event.target"); + } catch (error) { + assert_unreached("':focus-visible' is an invalid selector. SyntaxError: " + error); + } + }, "Checks that ':focus-visible' pseudo-class matches inside 'focusin' event handler"); + test(() => { + try { + var focusWithinPseudo = document.querySelector(':focus-within'); + assert_equals(document.documentElement, focusWithinPseudo, "':focus-within' matches document.documentElement"); + } catch (error) { + assert_unreached("':focus-within' is an invalid selector. SyntaxError: " + error); + } + }, "Checks that ':focus-within' pseudo-class matches inside 'focusin' event handler"); +}, false); +input.focus(); +</script> |