@@ -154,7 +154,6 @@ Item {
154 var greeter = findChild(shell, "greeter");
154 var greeter = findChild(shell, "greeter");
155 sessionSpy.target = greeter;
155 sessionSpy.target = greeter;
156 swipeAwayGreeter(true);
156 swipeAwayGreeter(true);
158 greeter.failedLoginsDelayAttempts = -1;
157 greeter.failedLoginsDelayAttempts = -1;
159 greeter.maxFailedLogins = -1;
158 greeter.maxFailedLogins = -1;
@@ -214,20 +213,16 @@ Item {
217− function waitForLockscreen() {
216+ function enterPin(pin) {
218− var lockscreen = findChild(shell, "lockscreen");
217+ typeString(pin);
219− var pinPadLoader = findChild(lockscreen, "pinPadLoader");
220− tryCompare(pinPadLoader, "status", Loader.Ready)
221− waitForRendering(lockscreen)
224− function enterPin(pin) {
220+ function showGreeter() {
225− for (var i = 0; i < pin.length; ++i) {
221+ LightDM.Greeter.showGreeter();
226− var character = pin.charAt(i)
222+ tryCompare(shell, "waitingOnGreeter", false);
227− var button = findChild(shell, "pinPadButton" + character)
223+ var coverPage = findChild(shell, "coverPage");
228− tryCompare(button, "enabled", true);
224+ tryCompare(coverPage, "showProgress", 1);
229− tap(button)
225+ removeTimeConstraintsFromSwipeAreas(shell);
233 function confirmLockedApp(app) {
228 function confirmLockedApp(app) {
@@ -248,7 +243,7 @@ Item {
248 LightDM.Greeter.hideGreeter();
243 LightDM.Greeter.hideGreeter();
249 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
244 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile);
251− LightDM.Greeter.showGreeter();
246+ showGreeter();
252 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile + "_greeter");
247 tryCompare(panel.indicators.indicatorsModel, "profile", shell.indicatorProfile + "_greeter");
254 LightDM.Greeter.hideGreeter();
249 LightDM.Greeter.hideGreeter();
@@ -293,7 +288,7 @@ Item {
294 // Cancel emergency mode, and go back to normal
289 // Cancel emergency mode, and go back to normal
295 waitForRendering(greeter)
290 waitForRendering(greeter)
296− LightDM.Greeter.showGreeter()
291+ showGreeter()
298 tryCompare(greeter, "shown", true)
293 tryCompare(greeter, "shown", true)
299 tryCompare(greeter, "lockedApp", "")
294 tryCompare(greeter, "lockedApp", "")
@@ -328,6 +323,22 @@ Item {
328 tryCompare(greeter, "shown", true);
323 tryCompare(greeter, "shown", true);
326+ function test_emergencyCallPausesTutorial() {
327+ var greeter = findChild(shell, "greeter");
328+ var tutorial = findChild(shell, "tutorial");
330+ AccountsService.demoEdges = true;
332+ tryCompare(tutorial, "paused", false);
335+ verify(tutorial.paused);
337+ swipeAwayGreeter(true);
338+ tap(findChild(greeter, "emergencyCallLabel"));
339+ verify(tutorial.paused);
331 function test_failedLoginsCount() {
342 function test_failedLoginsCount() {
332 AccountsService.failedLogins = 0
343 AccountsService.failedLogins = 0
@@ -342,22 +353,23 @@ Item {
342 var greeter = findChild(shell, "greeter");
353 var greeter = findChild(shell, "greeter");
343 greeter.failedLoginsDelayAttempts = 3;
354 greeter.failedLoginsDelayAttempts = 3;
345− var placeHolder = findChild(shell, "wrongNoticeLabel")
356+ var wrongPasswordAnimation = findInvisibleChild(shell, "wrongPasswordAnimation");
346− tryCompare(placeHolder, "text", "")
348 enterPin("1111")
358 enterPin("1111")
349− tryCompare(placeHolder, "text", "Sorry, incorrect passcode")
359+ verify(wrongPasswordAnimation.running);
351 enterPin("1111")
361 enterPin("1111")
352− tryCompare(placeHolder, "text", "Sorry, incorrect passcode")
362+ verify(wrongPasswordAnimation.running);
354− var lockscreen = findChild(shell, "lockscreen")
364+ var delayedLockscreen = findChild(shell, "delayedLockscreen");
355− tryCompare(lockscreen, "delayMinutes", 0)
365+ tryCompare(delayedLockscreen, "delayMinutes", 0);
356 enterPin("1111")
366 enterPin("1111")
357− tryCompare(lockscreen, "delayMinutes", greeter.failedLoginsDelayMinutes);
367+ tryCompare(delayedLockscreen, "delayMinutes", greeter.failedLoginsDelayMinutes);
360 function test_factoryReset() {
370 function test_factoryReset() {
371+ skip("Factory reset support is not finished")
361 maxRetriesTextField.text = "3"
373 maxRetriesTextField.text = "3"
362 resetSpy.clear()
374 resetSpy.clear()
@@ -388,8 +400,7 @@ Item {
388 compare(shell.usageScenario, "phone");
400 compare(shell.usageScenario, "phone");
389 compare(applicationsDisplayLoader.usageScenario, "phone");
401 compare(applicationsDisplayLoader.usageScenario, "phone");
391− var lockscreen = findChild(shell, "lockscreen")
403+ tap(findChild(shell, "emergencyCallLabel"));
392− lockscreen.emergencyCall()
393 confirmLockedApp("dialer-app")
404 confirmLockedApp("dialer-app")
395 // OK, we're in. Now try (but fail) to switch to tablet mode
406 // OK, we're in. Now try (but fail) to switch to tablet mode
@@ -416,16 +427,13 @@ Item {
416 // - Should be back in emergency mode dialer
427 // - Should be back in emergency mode dialer
418 var greeter = findChild(shell, "greeter");
429 var greeter = findChild(shell, "greeter");
419− var lockscreen = findChild(shell, "lockscreen");
422− lockscreen.emergencyCall();
431+ tap(findChild(shell, "emergencyCallLabel"));
423 confirmLockedApp("dialer-app");
432 confirmLockedApp("dialer-app");
424 callManager.foregroundCall = phoneCall;
433 callManager.foregroundCall = phoneCall;
426− LightDM.Greeter.showGreeter();
435+ showGreeter();
427− lockscreen = findChild(shell, "lockscreen");
436+ var lockscreen = findChild(shell, "lockscreen");
429 tryCompare(lockscreen, "shown", true);
437 tryCompare(lockscreen, "shown", true);
430 tryCompare(greeter, "hasLockedApp", false);
438 tryCompare(greeter, "hasLockedApp", false);
@@ -468,7 +476,7 @@ Item {
470 function test_focusRequestedHidesCoverPage() {
478 function test_focusRequestedHidesCoverPage() {
471− LightDM.Greeter.showGreeter();
479+ showGreeter();
473 var app = ApplicationManager.startApplication("gallery-app");
481 var app = ApplicationManager.startApplication("gallery-app");
474 // wait until the app is fully loaded (ie, real surface replaces splash screen)
482 // wait until the app is fully loaded (ie, real surface replaces splash screen)
@@ -480,8 +488,7 @@ Item {
480 tryCompare(coverPage, "showProgress", 0);
488 tryCompare(coverPage, "showProgress", 0);
481 tryCompare(greeter, "fullyShown", true);
489 tryCompare(greeter, "fullyShown", true);
483− LightDM.Greeter.showGreeter();
491+ showGreeter();
484− tryCompare(coverPage, "showProgress", 1);
486 // Make sure focusing same app triggers same behavior
493 // Make sure focusing same app triggers same behavior
487 ApplicationManager.requestFocusApplication("gallery-app");
494 ApplicationManager.requestFocusApplication("gallery-app");
@@ -555,9 +562,7 @@ Item {
555 only after its idle timeout is triggered.
562 only after its idle timeout is triggered.
557 function test_shortLeftEdgeSwipeMakesLauncherStayVisible() {
564 function test_shortLeftEdgeSwipeMakesLauncherStayVisible() {
558− LightDM.Greeter.showGreeter();
565+ showGreeter();
559− var coverPage = testCase.findChild(shell, "coverPage");
560− tryCompare(coverPage, "showProgress", 1);
562 var launcher = testCase.findChild(shell, "launcher")
567 var launcher = testCase.findChild(shell, "launcher")
563 var launcherPanel = testCase.findChild(launcher, "launcherPanel");
568 var launcherPanel = testCase.findChild(launcher, "launcherPanel");
@@ -573,6 +578,7 @@ Item {
573 tryCompare(launcherPanel, "x", 0);
578 tryCompare(launcherPanel, "x", 0);
575 // Greeter should be displaced
580 // Greeter should be displaced
581+ var coverPage = findChild(shell, "coverPage");
576 tryCompareFunction(function() { return coverPage.mapToItem(shell, 0, 0).x > shell.width*0.2; }, true);
582 tryCompareFunction(function() { return coverPage.mapToItem(shell, 0, 0).x > shell.width*0.2; }, true);
578 touchRelease(shell, toX, shell.height * 0.5);
584 touchRelease(shell, toX, shell.height * 0.5);
@@ -595,8 +601,7 @@ Item {
595 tryCompare(shell, "mainApp", galleryApp);
601 tryCompare(shell, "mainApp", galleryApp);
597 // Show greeter
603 // Show greeter
598− LightDM.Greeter.showGreeter();
604+ showGreeter();
599− tryCompare(coverPage, "showProgress", 1);
601 // Swipe cover page away
606 // Swipe cover page away
602 touchFlick(shell, 2, shell.height / 2, units.gu(30), shell.height / 2);
607 touchFlick(shell, 2, shell.height / 2, units.gu(30), shell.height / 2);