79 lines
2.3 KiB
HTML
79 lines
2.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("This tests what mouse events we send.");
|
|
|
|
var div = document.createElement("div");
|
|
div.style.width = "100px";
|
|
div.style.height = "100px";
|
|
div.style.backgroundColor = "blue";
|
|
|
|
var eventLog = "";
|
|
|
|
function appendEventLog() {
|
|
if (window.eventSender) {
|
|
eventLog += event.type + "(" + event.button + ") ";
|
|
} else {
|
|
debug(event.type + "(" + event.button + ")");
|
|
}
|
|
}
|
|
|
|
function clearEventLog() {
|
|
eventLog = "";
|
|
}
|
|
|
|
function dismissContextMenu() {
|
|
if (window.eventSender) {
|
|
// esc key to kill the context menu.
|
|
eventSender.keyDown(String.fromCharCode(0x001B), null);
|
|
}
|
|
}
|
|
|
|
|
|
div.addEventListener("click", appendEventLog, false);
|
|
div.addEventListener("dblclick", appendEventLog, false);
|
|
div.addEventListener("mousedown", appendEventLog, false);
|
|
div.addEventListener("mouseup", appendEventLog, false);
|
|
document.body.insertBefore(div, document.body.firstChild);
|
|
|
|
if (window.eventSender)
|
|
eventSender.mouseMoveTo(10, 10);
|
|
|
|
function sendEvents(button) {
|
|
if (!window.eventSender) {
|
|
debug("This test requires DumpRenderTree. Click on the blue rect with different mouse buttons to log.")
|
|
return;
|
|
}
|
|
eventSender.mouseDown(button);
|
|
if (button == 2)
|
|
dismissContextMenu();
|
|
eventSender.mouseUp(button);
|
|
eventSender.mouseDown(button);
|
|
if (button == 2)
|
|
dismissContextMenu();
|
|
eventSender.mouseUp(button);
|
|
// could test dragging here too
|
|
}
|
|
|
|
function testEvents(description, button, expectedString) {
|
|
debug(description);
|
|
sendEvents(button);
|
|
shouldBeEqualToString("eventLog", expectedString);
|
|
clearEventLog();
|
|
}
|
|
|
|
if (window.eventSender) {
|
|
testEvents("Left Mouse Button", 0, "mousedown(0) mouseup(0) click(0) mousedown(0) mouseup(0) click(0) dblclick(0) ");
|
|
testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");
|
|
testEvents("Right Mouse Button", 2, "mousedown(2) mouseup(2) mousedown(2) mouseup(2) ");
|
|
testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|