diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/selectors/hover-002.html | |
parent | Initial commit. (diff) | |
download | firefox-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/hover-002.html')
-rw-r--r-- | testing/web-platform/tests/css/selectors/hover-002.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/selectors/hover-002.html b/testing/web-platform/tests/css/selectors/hover-002.html new file mode 100644 index 0000000000..02cee99bf6 --- /dev/null +++ b/testing/web-platform/tests/css/selectors/hover-002.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Selectors: Change class to enable :hover</title> +<link rel="author" title="Rune Lillesveen" href="futhark@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/selectors/#the-hover-pseudo"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<style> + .affected:hover { color: green } + #hoveredContents { display: contents } +</style> +<div id="hovered">Hover me - should become green</div> +<div id="hoveredContents"> + <div id="hovered2">Hover me - should become green</div> +</div> +<script> + function mouseMoveToTarget(selector) { + let target = document.querySelector(selector); + return new test_driver.Actions().pointerMove(0, 0, {origin: target}) + .send(); + } + + function testElementGreen(test, element) { + element.addEventListener("mouseover", test.step_func(event => { + assert_equals(getComputedStyle(element).color, "rgb(0, 128, 0)"); + test.done(); + })); + } + + // Setting the affected classes here makes the two elements go from never + // reacting to hover to being affected by hover without changing computed + // style. + hovered.offsetTop; + hovered.className = "affected"; + hoveredContents.className = "affected"; + + async_test(t => { testElementGreen(t, hovered); }, "Hover #hovered element should make it go green"); + async_test(t => { testElementGreen(t, hovered2); }, "Hover #hoveredContents child should make it go green"); + + mouseMoveToTarget("#hovered").then(() => { + mouseMoveToTarget("#hovered2"); + }); + +</script> |