1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/metro/base/tests/mochitest/browser_mouse_events.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,51 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 +"use strict"; 1.7 + 1.8 +// from MouseEvents.h 1.9 +const leftButtonFlag = 1; 1.10 +const rightButtonFlag = 2; 1.11 + 1.12 +gTests.push({ 1.13 + desc: "Test native mouse events", 1.14 + run: function () { 1.15 + let tab = yield addTab("about:mozilla"); 1.16 + 1.17 + // Mousemove. 1.18 + let waitForMove = waitForEvent(document, "mousemove"); 1.19 + synthesizeNativeMouseMove(tab.browser, 1, 1); 1.20 + synthesizeNativeMouseMove(tab.browser, 100, 100); 1.21 + let mousemove = yield waitForMove; 1.22 + is(mousemove.cancelable, false, "mousemove is not cancelable"); 1.23 + is(mousemove.buttons, 0, "no buttons are down"); 1.24 + 1.25 + // Left button down. 1.26 + let waitForDown1 = waitForEvent(document, "mousedown"); 1.27 + synthesizeNativeMouseLDown(tab.browser, 100, 100); 1.28 + let mousedown1 = yield waitForDown1; 1.29 + is(mousedown1.cancelable, true, "mousedown is cancelable"); 1.30 + is(mousedown1.buttons, leftButtonFlag, "left button is down"); 1.31 + 1.32 + // Right button down. 1.33 + let waitForDown2 = waitForEvent(document, "mousedown"); 1.34 + synthesizeNativeMouseRDown(tab.browser, 100, 100); 1.35 + let mousedown2 = yield waitForDown2; 1.36 + is(mousedown2.buttons, leftButtonFlag | rightButtonFlag, "both buttons are down"); 1.37 + 1.38 + // Left button up. 1.39 + let waitForUp1 = waitForEvent(document, "mouseup"); 1.40 + synthesizeNativeMouseLUp(tab.browser, 100, 100); 1.41 + let mouseup1 = yield waitForUp1; 1.42 + is(mouseup1.buttons, rightButtonFlag, "right button is down"); 1.43 + 1.44 + // Right button up. 1.45 + let waitForUp2 = waitForEvent(document, "mouseup"); 1.46 + synthesizeNativeMouseRUp(tab.browser, 100, 100); 1.47 + let mouseup2 = yield waitForUp2; 1.48 + is(mouseup2.buttons, 0, "no buttons are down"); 1.49 + 1.50 + Browser.closeTab(tab, { forceClose: true }); 1.51 + } 1.52 +}); 1.53 + 1.54 +let test = runTests;