@@ -2797,5 +2797,51 @@ Rectangle {
27972797
27982798 GSettingsController.setEnableIndicatorMenu(true);
27992799 }
2800+
2801+ function test_spreadDisabled_data() {
2802+ return [
2803+ { tag: "enabled", spreadEnabled: true },
2804+ { tag: "disabled", spreadEnabled: false }
2805+ ];
2806+ }
2807+
2808+ function test_spreadDisabled(data) {
2809+ loadShell("phone");
2810+ swipeAwayGreeter();
2811+ var stage = findChild(shell, "stage");
2812+ stage.spreadEnabled = data.spreadEnabled;
2813+
2814+ // Try swiping
2815+ touchFlick(shell, shell.width - 2, shell.height / 2, units.gu(1), shell.height / 2);
2816+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2817+
2818+ stage.closeSpread();
2819+ tryCompare(stage, "state", "staged");
2820+
2821+ // Try by edge push
2822+ mouseMove(stage, stage.width - 1, units.gu(10));
2823+ for (var i = 0; i < units.gu(10); i++) {
2824+ stage.pushRightEdge(1);
2825+ }
2826+ mouseMove(stage, stage.width - units.gu(5), units.gu(10));
2827+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2828+
2829+ stage.closeSpread();
2830+ tryCompare(stage, "state", "staged");
2831+
2832+ // Try by alt+tab
2833+ keyPress(Qt.Key_Alt);
2834+ keyClick(Qt.Key_Tab);
2835+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2836+ keyRelease(Qt.Key_Alt);
2837+
2838+ stage.closeSpread();
2839+ tryCompare(stage, "state", "staged");
2840+
2841+ // Try by Super+W
2842+ keyPress(Qt.Key_W, Qt.MetaModifier)
2843+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2844+ keyRelease(Qt.Key_W, Qt.MetaModifier)
2845+ }
28002846 }
28012847}