@@ -2419,6 +2419,66 @@ Rectangle {
24192419 compare(topmostSurfaceItem.touchReleaseCount, 2);
24202420 }
24212421
2422+ function test_greeterModeBroadcastsApp() {
2423+ setLightDMMockMode("single-pin");
2424+ shellLoader.mode = "greeter";
2425+ loadShell("phone");
2426+ shell.usageScenario = "phone";
2427+ waitForRendering(shell);
2428+
2429+ dragLauncherIntoView();
2430+ var appIcon = findChild(shell, "launcherDelegate0")
2431+ tap(appIcon);
2432+
2433+ tryCompare(broadcastUrlSpy, "count", 1);
2434+ compare(broadcastUrlSpy.signalArguments[0][0], "application:///" + appIcon.appId + ".desktop");
2435+ compare(ApplicationManager.count, 1); // confirm only dash is open, we didn't start new app
2436+
2437+ var coverPage = findChild(shell, "coverPage");
2438+ tryCompare(coverPage, "showProgress", 0);
2439+ }
2440+
2441+ function test_greeterModeBroadcastsHome() {
2442+ setLightDMMockMode("single-pin");
2443+ shellLoader.mode = "greeter";
2444+ loadShell("phone");
2445+ shell.usageScenario = "phone";
2446+ waitForRendering(shell);
2447+
2448+ var gallerySurfaceId = topLevelSurfaceList.nextId;
2449+ var galleryApp = ApplicationManager.startApplication("gallery-app");
2450+ waitUntilAppWindowIsFullyLoaded(gallerySurfaceId);
2451+ compare(ApplicationManager.focusedApplicationId, "gallery-app");
2452+
2453+ dragLauncherIntoView();
2454+ tap(findChild(shell, "buttonShowDashHome"));
2455+
2456+ tryCompare(broadcastHomeSpy, "count", 1);
2457+ compare(ApplicationManager.focusedApplicationId, "gallery-app"); // confirm we didn't focus dash
2458+
2459+ var coverPage = findChild(shell, "coverPage");
2460+ tryCompare(coverPage, "showProgress", 0);
2461+ }
2462+
2463+ function test_greeterModeDispatchesURL() {
2464+ setLightDMMockMode("single-pin");
2465+ shellLoader.mode = "greeter";
2466+ loadShell("phone");
2467+ shell.usageScenario = "phone";
2468+ waitForRendering(shell);
2469+
2470+ var urlDispatcher = findInvisibleChild(shell, "urlDispatcher");
2471+ verify(urlDispatcher.active);
2472+ urlDispatcher.urlRequested("test:"); // force signal emission
2473+
2474+ tryCompare(broadcastUrlSpy, "count", 1);
2475+ compare(broadcastUrlSpy.signalArguments[0][0], "test:");
2476+ compare(ApplicationManager.count, 1); // confirm only dash is open, we didn't start new app
2477+
2478+ var coverPage = findChild(shell, "coverPage");
2479+ tryCompare(coverPage, "showProgress", 0);
2480+ }
2481+
24222482 function test_switchKeymap() {
24232483 // start with phone shell
24242484 loadShell("phone");
@@ -2521,65 +2581,5 @@ Rectangle {
25212581 verify(greeter.shown);
25222582 verify(greeter.locked);
25232583 }
2524−
2525− function test_greeterModeBroadcastsApp() {
2526− setLightDMMockMode("single-pin");
2527− shellLoader.mode = "greeter";
2528− loadShell("phone");
2529− shell.usageScenario = "phone";
2530− waitForRendering(shell);
2531−
2532− dragLauncherIntoView();
2533− var appIcon = findChild(shell, "launcherDelegate0")
2534− tap(appIcon);
2535−
2536− tryCompare(broadcastUrlSpy, "count", 1);
2537− compare(broadcastUrlSpy.signalArguments[0][0], "application:///" + appIcon.appId + ".desktop");
2538− compare(ApplicationManager.count, 1); // confirm only dash is open, we didn't start new app
2539−
2540− var coverPage = findChild(shell, "coverPage");
2541− tryCompare(coverPage, "showProgress", 0);
2542− }
2543−
2544− function test_greeterModeBroadcastsHome() {
2545− setLightDMMockMode("single-pin");
2546− shellLoader.mode = "greeter";
2547− loadShell("phone");
2548− shell.usageScenario = "phone";
2549− waitForRendering(shell);
2550−
2551− var gallerySurfaceId = topLevelSurfaceList.nextId;
2552− var galleryApp = ApplicationManager.startApplication("gallery-app");
2553− waitUntilAppWindowIsFullyLoaded(gallerySurfaceId);
2554− compare(ApplicationManager.focusedApplicationId, "gallery-app");
2555−
2556− dragLauncherIntoView();
2557− tap(findChild(shell, "buttonShowDashHome"));
2558−
2559− tryCompare(broadcastHomeSpy, "count", 1);
2560− compare(ApplicationManager.focusedApplicationId, "gallery-app"); // confirm we didn't focus dash
2561−
2562− var coverPage = findChild(shell, "coverPage");
2563− tryCompare(coverPage, "showProgress", 0);
2564− }
2565−
2566− function test_greeterModeDispatchesURL() {
2567− setLightDMMockMode("single-pin");
2568− shellLoader.mode = "greeter";
2569− loadShell("phone");
2570− shell.usageScenario = "phone";
2571− waitForRendering(shell);
2572−
2573− var urlDispatcher = findInvisibleChild(shell, "urlDispatcher");
2574− verify(urlDispatcher.active);
2575− urlDispatcher.urlRequested("test:"); // force signal emission
2576−
2577− tryCompare(broadcastUrlSpy, "count", 1);
2578− compare(broadcastUrlSpy.signalArguments[0][0], "test:");
2579− compare(ApplicationManager.count, 1); // confirm only dash is open, we didn't start new app
2580−
2581− var coverPage = findChild(shell, "coverPage");
2582− tryCompare(coverPage, "showProgress", 0);
2583− }
25842584 }
25852585}