86 lines
1.9 KiB
HTML
86 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
.parent {
|
|
position: relative;
|
|
padding: 10px;
|
|
background-color: silver;
|
|
}
|
|
|
|
.child {
|
|
position: absolute;
|
|
width: 200px;
|
|
height: 200px;
|
|
top: 0px;
|
|
background-color: green;
|
|
display: none;
|
|
}
|
|
|
|
#target.enableHover:hover .child {
|
|
display: block;
|
|
}
|
|
|
|
/* :matches() is here to disable the selector compiler */
|
|
#target2:matches(:root, :nth-of-type(n), :not(#specificity-trick), :nth-last-of-type(n)).enableHover:hover .child {
|
|
display: block;
|
|
}
|
|
|
|
</style>
|
|
<script>
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
function runTest(targetSelector) {
|
|
var target = document.querySelector(targetSelector);
|
|
var child = target.querySelector('.child');
|
|
|
|
target.classList.add('enableHover');
|
|
|
|
if (window.eventSender) {
|
|
var x = target.offsetLeft + target.offsetWidth / 2;
|
|
var y = target.offsetTop + target.offsetHeight / 2;
|
|
eventSender.mouseMoveTo(x, y);
|
|
}
|
|
|
|
return child.offsetWidth != 0;
|
|
}
|
|
|
|
function log(text, pass) {
|
|
var log = document.querySelector("#log");
|
|
var line = document.createElement("div");
|
|
line.innerHTML = text + ": " + (pass ? "PASS" : "FAIL");
|
|
log.appendChild(line);
|
|
}
|
|
|
|
function runTests() {
|
|
var compilerPass = runTest("#target");
|
|
var checkerPass = runTest("#target2");
|
|
if (!window.testRunner)
|
|
return;
|
|
log("Selector compiler", compilerPass);
|
|
log("Selector checker", checkerPass);
|
|
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body onload="runTests()">
|
|
<div>
|
|
Test that dynamically activated :hover rule affecting descendants works.
|
|
</div>
|
|
<div id="target" class="parent">
|
|
Hover to see a green box below.
|
|
<div class="child"></div>
|
|
</div>
|
|
<div id="target2" class="parent">
|
|
Hover to see a green box below.
|
|
<div class="child"></div>
|
|
</div>
|
|
<div id=log></div>
|
|
</body>
|
|
</html>
|