@@ -2865,7 +2865,7 @@ Rectangle {
28652865 loadShell(data.tag);
28662866
28672867 var panel = findChild(shell, "panel"); verify(panel);
2868− var panelTitle = findChild(panel.applicationMenus, "panelTitle"); verify(panelTitle);
2868+ var panelTitle = findChild(panel, "panelTitle"); verify(panelTitle);
28692869 compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown");
28702870
28712871 swipeAwayGreeter();
@@ -3038,6 +3038,61 @@ Rectangle {
30383038 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");
30393039 }
30403040
3041+ function test_touchMenuPosition_data() {
3042+ return [
3043+ { tag: "launcher locked", lockLauncher: true },
3044+ { tag: "launcher not locked", lockLauncher: false }
3045+ ];
3046+ }
3047+
3048+ function test_touchMenuPosition(data) {
3049+ loadShell("desktop");
3050+ shell.usageScenario = "desktop";
3051+ waitForRendering(shell);
3052+ swipeAwayGreeter();
3053+
3054+ var panel = findChild(shell, "panel");
3055+ var launcher = testCase.findChild(shell, "launcher");
3056+ launcher.lockedVisible = data.lockLauncher;
3057+ if (data.lockLauncher) {
3058+ compare(panel.applicationMenus.x, launcher.panelWidth);
3059+ } else {
3060+ compare(panel.applicationMenus.x, 0);
3061+ }
3062+ }
3063+
3064+ function test_touchMenuHidesOnLauncherAppDrawer_data() {
3065+ return [
3066+ { tag: "launcher locked", lockLauncher: true },
3067+ { tag: "launcher not locked", lockLauncher: false }
3068+ ];
3069+ }
3070+
3071+ function test_touchMenuHidesOnLauncherAppDrawer(data) {
3072+ loadShell("desktop");
3073+ shell.usageScenario = "desktop";
3074+ waitForRendering(shell);
3075+ swipeAwayGreeter();
3076+
3077+ var panel = findChild(shell, "panel");
3078+ var launcher = testCase.findChild(shell, "launcher");
3079+ launcher.lockedVisible = data.lockLauncher;
3080+
3081+ waitForRendering(panel.applicationMenus);
3082+
3083+ if (data.lockLauncher) {
3084+ panel.applicationMenus.show();
3085+ tryCompare(panel.applicationMenus, "fullyOpened", true);
3086+ launcher.openDrawer();
3087+ } else {
3088+ tryCompare(launcher, "shown", false);
3089+ panel.applicationMenus.show();
3090+ tryCompare(panel.applicationMenus, "fullyOpened", true);
3091+ launcher.switchToNextState("visible");
3092+ }
3093+ tryCompare(panel.applicationMenus, "fullyClosed", true);
3094+ }
3095+
30413096 function test_doubleClickPanelRestoresWindow() {
30423097 loadShell("desktop");
30433098 shell.usageScenario = "desktop";