<p>This test verifies that a button that receives a mouse down event does not receive
a corresponding mouse up event when the mouse up happens outside the button.
</p>
<p>If the test passes, you'll see a PASS message below.
</p>

<p>To run this test in Safari:
<ol>
    <li>Mouse down inside the button.</li>
    <li>Move the mouse outside the button.</li>
    <li>Mouse up.</li>
</ol>
</p>
<hr>
<input type="button" value="button!" id="button">
<pre id="log">PASS: mouse up event did not fire</pre>

<script>
function main()
{
    document.getElementById('button').addEventListener("mouseup", button_mouseUp, false);
    
    if (window.layoutTestController)
        layoutTestController.dumpAsText();
    
    if (window.eventSender) {
        eventSender.mouseMoveTo(40, 20); // in button
        eventSender.mouseDown();
        eventSender.mouseMoveTo(40, 200); // outside button
        eventSender.mouseUp();
    }
}

function button_mouseUp()
{
    document.getElementById('log').innerHTML = "FAIL: mouseup event fired\n";
}

main();
</script>
