@@ -2733,5 +2733,33 @@ Rectangle {
27332733 tryCompare(dashAppDelegate, "y", initialY);
27342734 SurfaceManager.inputMethodSurface.state = oldOSKState;
27352735 }
2736+
2737+ function test_cursorHidingWithFullscreenApp() {
2738+ loadShell("desktop");
2739+ shell.usageScenario = "desktop";
2740+ waitForRendering(shell);
2741+ swipeAwayGreeter();
2742+
2743+ // load some fullscreen app
2744+ var cameraSurfaceId = topLevelSurfaceList.nextId;
2745+ var cameraApp = ApplicationManager.startApplication("camera-app");
2746+ waitUntilAppWindowIsFullyLoaded(cameraSurfaceId);
2747+
2748+ var cursor = findChild(shell, "cursor");
2749+ verify(cursor);
2750+ tryCompare(cursor, "opacity", 1);
2751+
2752+ // let the timer kick in and verify the cursor got hidden
2753+ wait(3000);
2754+ tryCompare(cursor, "opacity", 0);
2755+
2756+ // simulate moving the mouse, check the cursor is visible again
2757+ cursor.mouseMoved();
2758+ tryCompare(cursor, "opacity", 1);
2759+
2760+ // let the timer kick in again and verify the cursor got hidden
2761+ wait(3000);
2762+ tryCompare(cursor, "opacity", 0);
2763+ }
27362764 }
27372765}