summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/selectors/focus-display-none-001.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/selectors/focus-display-none-001.html
parentInitial commit. (diff)
downloadfirefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz
firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/selectors/focus-display-none-001.html')
-rw-r--r--testing/web-platform/tests/css/selectors/focus-display-none-001.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/selectors/focus-display-none-001.html b/testing/web-platform/tests/css/selectors/focus-display-none-001.html
new file mode 100644
index 0000000000..63bf4465ea
--- /dev/null
+++ b/testing/web-platform/tests/css/selectors/focus-display-none-001.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Selectors Level 4: focus</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/selectors-4/#focus-pseudo">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule">
+<meta name="assert" content="Checks ':focus' pseudo-class after 'display: none'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="wrapper">
+ <input id="input">
+</div>
+<script>
+ "use strict";
+
+ const wrapper = document.getElementById("wrapper");
+ const input = document.getElementById("input");
+
+ async_test((t) => {
+ input.focus();
+ window.requestAnimationFrame(() => {
+ t.step(() => assert_true(input.matches(":focus"),
+ "Check input matches ':focus' after being focused"));
+
+ input.style.display = "none";
+ window.requestAnimationFrame(() => {
+ t.step(() => assert_false(input.matches(":focus"),
+ "Check input doesn't match ':focus' after getting 'display: none'"));
+ input.style.display = "inline";
+ t.done();
+ });
+ });
+ }, "Test ':focus' after 'display:none' on input");
+
+ async_test((t) => {
+ input.focus();
+ window.requestAnimationFrame(() => {
+ t.step(() => assert_true(input.matches(":focus"),
+ "Check input matches ':focus' after being focused"));
+
+ wrapper.style.display = "none";
+ window.requestAnimationFrame(() => {
+ t.step(() => assert_false(input.matches(":focus"),
+ "Check input doesn't match ':focus' after parent got 'display: none'"));
+ wrapper.style.display = "block";
+ t.done();
+ });
+ });
+ }, "Test ':focus' after 'display:none' on input's parent");
+</script>