1 <p>This test verifies that a right mousebutton click generates a mousedown, context and mouseup event.</p>
4 <p>If the test passes, you'll see a PASS message below.
7 <p>To run this test in Safari:
9 <li>Right mouse down inside the box.</li>
10 <li>Right mouse up.</li>
19 <div class="test-box" id="click_target-1">box</div>
25 * Base namespace for test
27 var rlightclickbug = rlightclickbug || {};
32 rlightclickbug.swallow = function(event) {
33 event.preventDefault && event.preventDefault();
34 event.stopImmediatePropagation && event.stopImmediatePropagation();
35 event.stopPropagation && event.stopPropagation();
36 event.preventBubble && event.preventBubble();
41 * Dumps out a single line summary of a mouse event
43 rlightclickbug.dumpShortEvent = function(event) {
45 var keys = ['type', 'button'];
46 for (var i = 0; i < keys.length; i++) {
49 values.push(event[keys[i]]);
52 return values.join('');
56 * Writes a log message to the screen.
58 rlightclickbug.logme = function(m) {
59 var loggy = document.getElementById('log');
60 loggy.innerHTML += ('\n' + m);
63 var _captureMouseEvents = function(event) {
64 rlightclickbug.logme(rlightclickbug.dumpShortEvent(event));
65 return rlightclickbug.swallow(event);
71 var targetBox = document.getElementById('click_target-1');
73 targetBox.addEventListener("mouseup", _captureMouseEvents, false);
74 targetBox.addEventListener("mousedown", _captureMouseEvents, false);
75 targetBox.addEventListener("click", _captureMouseEvents, false);
76 targetBox.addEventListener("contextmenu", _captureMouseEvents, false);
78 if (window.testRunner)
79 testRunner.dumpAsText();
81 if (window.eventSender) {
82 // Confirm that left button works properly
83 eventSender.mouseMoveTo(targetBox.offsetLeft + 5,
84 targetBox.offsetTop + 5); // in box
85 eventSender.mouseDown();
86 eventSender.mouseUp();
88 // Confirm that right button works properly
89 eventSender.mouseDown(2);
90 eventSender.mouseUp(2);
92 // Confirm that moving mouse while down outside of box
93 // does not fire a mouseup event.
94 eventSender.mouseDown(2);
95 eventSender.mouseMoveTo(0, 0); // outside of box
96 eventSender.mouseUp(2);
98 // order in IE is mousedown contextmenu mouseup