on xenial help sign in
Stabilize some Shell qml tests
51ebfeeDaniel d'Andrada
tests/qmltests/tst_Shell.qml+31−13
@@ -317,8 +317,7 @@ Item {
317
317
318 var greeter = findChild(shell, "greeter");
318 var greeter = findChild(shell, "greeter");
319 if (data.greeterShown) {
319 if (data.greeterShown) {
320− LightDM.Greeter.showGreeter();
320+ showGreeter();
321− tryCompare(greeter, "fullyShown", true);
322 }
321 }
323
322
324 if (data.revealLauncher) {
323 if (data.revealLauncher) {
@@ -375,7 +374,15 @@ Item {
375 tryCompare(greeter, "fullyShown", true);
374 tryCompare(greeter, "fullyShown", true);
376
375
377 // Swipe away greeter to focus app
376 // Swipe away greeter to focus app
377+
378+ // greeter unloads its internal components when hidden
379+ // and reloads them when shown. Thus we have to do this
380+ // again before interacting with it otherwise any
381+ // DirectionalDragAreas in there won't be easily fooled by
382+ // fake swipes.
383+ removeTimeConstraintsFromDirectionalDragAreas(greeter);
378 swipeAwayGreeter();
384 swipeAwayGreeter();
385+
379 tryCompare(ApplicationManager, "suspended", false);
386 tryCompare(ApplicationManager, "suspended", false);
380 compare(mainApp.state, ApplicationInfoInterface.Running);
387 compare(mainApp.state, ApplicationInfoInterface.Running);
381 tryCompare(ApplicationManager, "focusedApplicationId", mainAppId);
388 tryCompare(ApplicationManager, "focusedApplicationId", mainAppId);
@@ -593,11 +600,25 @@ Item {
593 && itemRectInShell.y + itemRectInShell.height <= shell.height;
600 && itemRectInShell.y + itemRectInShell.height <= shell.height;
594 }
601 }
595
602
603+ function showGreeter() {
604+ var greeter = findChild(shell, "greeter");
605+ LightDM.Greeter.showGreeter();
606+ waitForRendering(greeter);
607+ tryCompare(greeter, "fullyShown", true);
608+
609+ // greeter unloads its internal components when hidden
610+ // and reloads them when shown. Thus we have to do this
611+ // again before interacting with it otherwise any
612+ // DirectionalDragAreas in there won't be easily fooled by
613+ // fake swipes.
614+ removeTimeConstraintsFromDirectionalDragAreas(greeter);
615+ }
616+
596 function test_greeterDoesNotChangeIndicatorProfile() {
617 function test_greeterDoesNotChangeIndicatorProfile() {
597 var panel = findChild(shell, "panel");
618 var panel = findChild(shell, "panel");
598 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
619 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
599
620
600− LightDM.Greeter.showGreeter();
621+ showGreeter();
601 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
622 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
602
623
603 LightDM.Greeter.hideGreeter();
624 LightDM.Greeter.hideGreeter();
@@ -632,8 +653,7 @@ Item {
632
653
633 waitUntilDashIsFocused();
654 waitUntilDashIsFocused();
634
655
635− LightDM.Greeter.showGreeter();
656+ showGreeter();
636− tryCompare(greeter, "fullyShown", true);
637
657
638 // The main point of this test
658 // The main point of this test
639 ApplicationManager.requestFocusApplication("dialer-app");
659 ApplicationManager.requestFocusApplication("dialer-app");
@@ -664,15 +684,13 @@ Item {
664 tryCompare(greeter, "shown", false)
684 tryCompare(greeter, "shown", false)
665 }
685 }
666
686
667− function test_login() {
687+ function test_greeterLoginsAutomaticallyWhenNoPasswordSet() {
668− var greeter = findChild(shell, "greeter")
669− waitForRendering(greeter)
670− LightDM.Greeter.showGreeter();
671− tryCompare(greeter, "fullyShown", true)
672−
673 sessionSpy.clear();
688 sessionSpy.clear();
674− swipeAwayGreeter()
689+ verify(sessionSpy.valid);
690+
691+ showGreeter();
692+
675− tryCompare(sessionSpy, "count", 1)
693+ tryCompare(sessionSpy, "count", 1);
676 }
694 }
677
695
678 function test_fullscreen() {
696 function test_fullscreen() {