@@ -2779,5 +2779,42 @@ Rectangle {
27792779
27802780 GSettingsController.setEnableLauncher(true);
27812781 }
2782+
2783+ function test_spreadDisabled_data() {
2784+ return [
2785+ { tag: "enabled", spreadEnabled: true },
2786+ { tag: "disabled", spreadEnabled: false }
2787+ ]
2788+ }
2789+ function test_spreadDisabled(data) {
2790+ loadShell("phone");
2791+ swipeAwayGreeter();
2792+ var stage = findChild(shell, "stage");
2793+ stage.spreadEnabled = data.spreadEnabled;
2794+
2795+ // Try swiping
2796+ touchFlick(shell, shell.width - 2, shell.height / 2, units.gu(1), shell.height / 2);
2797+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2798+
2799+ stage.closeSpread();
2800+ tryCompare(stage, "state", "staged");
2801+
2802+ // Try by edge push
2803+ mouseMove(stage, stage.width - 1, units.gu(10));
2804+ for (var i = 0; i < units.gu(10); i++) {
2805+ stage.pushRightEdge(1);
2806+ }
2807+ mouseMove(stage, stage.width - units.gu(5), units.gu(10));
2808+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2809+
2810+ stage.closeSpread();
2811+ tryCompare(stage, "state", "staged");
2812+
2813+ // Try by alt+tab
2814+ keyPress(Qt.Key_Alt);
2815+ keyClick(Qt.Key_Tab);
2816+ tryCompare(stage, "state", data.spreadEnabled ? "spread" : "staged");
2817+ keyRelease(Qt.Key_Alt);
2818+ }
27822819 }
27832820}