55 lines
1.8 KiB
HTML
55 lines
1.8 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name=viewport content="width=device-width,initial-scale=1">
|
|
<title>Making generated content under pointer at hover should keep targeting the boundary event target to parent element</title>
|
|
<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>
|
|
<script>
|
|
"use strict";
|
|
|
|
addEventListener("load", () => {
|
|
promise_test(async () => {
|
|
const div = document.querySelector("div");
|
|
await new test_driver.Actions()
|
|
.pointerMove(0, 0, {origin: div})
|
|
.send();
|
|
const span = document.querySelector("span");
|
|
const promisePointerOver = new Promise(resolve => {
|
|
span.addEventListener("pointerover", event => resolve(event.target), {once: true});
|
|
});
|
|
const promiseMouseOver = new Promise(resolve => {
|
|
span.addEventListener("mouseover", event => resolve(event.target), {once: true});
|
|
});
|
|
await new test_driver.Actions()
|
|
.pointerMove(0, 0, {origin: span})
|
|
.pointerDown()
|
|
.pointerUp()
|
|
.send();
|
|
const pointerOverTarget = await promisePointerOver;
|
|
assert_equals(
|
|
pointerOverTarget,
|
|
span,
|
|
"pointerover target should be the <span>"
|
|
);
|
|
const mouseOverTarget = await promiseMouseOver;
|
|
assert_equals(
|
|
mouseOverTarget,
|
|
span,
|
|
"mouseover target should be the <span>"
|
|
);
|
|
}, "Generating text content under pointer");
|
|
}, {once: true});
|
|
</script>
|
|
<style>
|
|
span:hover::before {
|
|
content: "Here is generated content... ";
|
|
}
|
|
</style>
|
|
</head>
|
|
<body><span>Hover me!</span><div>Move pointer here first!</div></body>
|
|
</html>
|