<html>
<head>
<title></title>
<style type="text/css">
    div#t :hover { color: red; }
</style>
<script type="text/javascript">
function test()
{
    if (!window.eventSender)
        return;
    eventSender.mouseMoveTo(0, 0);
    document.body.offsetTop;    // force layout
    eventSender.mouseMoveTo(16, 16);    // hover
    eventSender.mouseDown();    // get noticed
    eventSender.mouseUp();
}
</script>
</head>
<body onload="test()">
<div id="t">
<span>This should not turn red when hovered.</span>
</div>
<hr>
<p>
Test for
<i><a href="https://bugs.webkit.org/show_bug.cgi?id=7218">http://bugzilla.opendarwin.org/show_bug.cgi?id=7218</a>
Text underlined on mouse over</i>.
This tests that <code>*:hover</code> does not match anything in quirks mode.
</p>
</body>
</html>
