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

function test()
{
    if (window.eventSender) {
        eventSender.mouseMoveTo(100, 335);
	eventSender.mouseDown();
    }

    setTimeout(release, 0);
}

function release()
{
    if (window.eventSender)
        eventSender.mouseUp();
    if (window.testRunner)
	setTimeout("testRunner.notifyDone()", 0);
}

</script>

<body onload="test()">
<div style="height: 100px">This test checks for regressions against <a
href="rdar://problem/4279765">Radar 4279765: REGRESSION: "More..."
links on flickr groups pages have hover issues (flickr.com)</a>. Click
on the word TEST below and it should turn into PASS.</div>

<div>
    <div style="float: left; height: 200px;">
        <img width=100 height=100>
        <br>
        <h1 style="float: right; font-size: 100px;"><a href="#" onclick="this.innerHTML = 'PASS'">TEST</a></h1>
    </div>
    <br clear="all">
</div>
</body>
