@@ -691,6 +691,28 @@ Item {
691 tryCompare(closeButton, "visible", false);
691 tryCompare(closeButton, "visible", false);
694+ function test_canMoveWindowWithLeftMouseButtonOnly_data() {
696+ {tag: "left mouse button", button: Qt.LeftButton },
697+ {tag: "right mouse button", button: Qt.RightButton },
698+ {tag: "middle mouse button", button: Qt.MiddleButton }
702+ function test_canMoveWindowWithLeftMouseButtonOnly(data) {
703+ var appDelegate = startApplication("dialer-app");
704+ verify(appDelegate);
706+ var posBefore = Qt.point(appDelegate.x, appDelegate.y);
708+ mousePress(appDelegate, appDelegate.width / 2, units.gu(1), data.button);
709+ mouseMove(appDelegate, appDelegate.width / 2, -units.gu(100), undefined /* delay */, data.button);
711+ var posAfter = Qt.point(appDelegate.x, appDelegate.y);
713+ tryCompareFunction(function(){return posBefore == posAfter;}, data.button !== Qt.LeftButton ? true : false);
694 function test_preventMouseEventsThruDesktopSpread() {
716 function test_preventMouseEventsThruDesktopSpread() {
695 var spread = findChild(desktopStage, "spread");
717 var spread = findChild(desktopStage, "spread");
696 verify(spread);
718 verify(spread);
@@ -708,5 +730,34 @@ Item {
709 spread.cancel();
731 spread.cancel();
734+ function test_eatWindowDecorationMouseEvents_data() {
736+ {tag: "left mouse click", signalName: "clicked", button: Qt.LeftButton },
737+ {tag: "right mouse click", signalName: "clicked", button: Qt.RightButton },
738+ {tag: "middle mouse click", signalName: "clicked", button: Qt.MiddleButton },
739+ {tag: "mouse wheel", signalName: "wheel", button: Qt.MiddleButton },
740+ {tag: "double click (RMB)", signalName: "doubleClicked", button: Qt.RightButton },
744+ function test_eatWindowDecorationMouseEvents(data) {
745+ var dialerAppDelegate = startApplication("dialer-app");
746+ verify(dialerAppDelegate);
747+ var decoration = findChild(dialerAppDelegate, "appWindowDecoration");
750+ mouseEaterSpy.signalName = data.signalName;
751+ if (data.signalName === "wheel") {
752+ mouseWheel(decoration, decoration.width/2, decoration.height/2, 20, 20);
753+ } else if (data.signalName === "clicked") {
754+ mouseClick(decoration, decoration.width/2, decoration.height/2, data.button);
756+ mouseDoubleClick(decoration, decoration.width/2, decoration.height/2, data.button);
757+ tryCompare(dialerAppDelegate, "maximized", false);
760+ tryCompare(mouseEaterSpy, "count", 0);