<style>
    .bar { width: 100px; height: 100px; background-color: red; }
    .foo:hover .bar { background-color: green; }
</style>
<div class="foo" id="target">
    <div class="bar"></div>
</div>
<div id="result">This test runs in DumpRenderTree</div>
<script>
    document.body.offsetLeft;
    document.getElementById("target").style.left = "0";
    if (window.eventSender) {
        eventSender.mouseMoveTo(200, 50);
        eventSender.mouseMoveTo(210, 50);
        testRunner.dumpAsText();
        document.getElementById("result").innerText = getComputedStyle(document.getElementById("target").firstElementChild).backgroundColor === "rgb(0, 128, 0)" ? "PASS" : "FAIL";
    }
</script>
