<!DOCTYPE html>

<style>
    * { margin: 0; padding: 0; }
    span:before { content: "Hover this text."; }
</style>

<span></span>

<p>Hovering the generated text should hover the span: </p>

<script>
if (window.testRunner)
    testRunner.dumpAsText();

onload = function() {
    // Need to cause a layout before hover will work.
    document.body.offsetLeft;
    document.querySelector('span').onmouseover = function() {
        document.body.appendChild(document.createElement('p')).textContent = 'PASS';
    };
    if (window.eventSender)
        eventSender.mouseMoveTo(5, 5);
}
</script>
