@@ -139,7 +139,9 @@ Item {
139139
140140 function init() {
141141 greeterSettings.lockedOutTime = 0;
142− resetLoader();
142+ LightDM.Greeter.selectUser = "";
143+ greeter.failedLoginsDelayAttempts = 7;
144+ greeter.failedLoginsDelayMinutes = 5;
143145 teaseSpy.clear();
144146 sessionStartedSpy.clear();
145147 activeChangedSpy.clear();
@@ -151,10 +153,7 @@ Item {
151153 viewAuthenticationFailedSpy.clear();
152154 viewResetSpy.clear();
153155 viewTryToUnlockSpy.clear();
154− tryCompare(greeter, "waiting", false);
155− view = findChild(greeter, "testView");
156− greeter.failedLoginsDelayAttempts = 7;
157− greeter.failedLoginsDelayMinutes = 5;
156+ resetLoader();
158157 }
159158
160159 function resetLoader() {
@@ -166,6 +165,8 @@ Item {
166165 loader.active = true;
167166 tryCompare(loader, "status", Loader.Ready);
168167 removeTimeConstraintsFromSwipeAreas(loader.item);
168+ tryCompare(greeter, "waiting", false);
169+ view = findChild(greeter, "testView");
169170 }
170171
171172 function getIndexOf(name) {
@@ -555,9 +556,22 @@ Item {
555556 }
556557
557558 function test_selectUserHint() {
558− // "full" mock sets selectUser == "info-prompt"
559+ LightDM.Greeter.selectUser = "info-prompt";
560+ resetLoader();
559561 var i = verifySelected("info-prompt");
560− verify(i != 0); // just make sure that info-prompt isn't default 0 answer
562+ verify(i != 0); // sanity-check that info-prompt isn't default 0 answer
563+ }
564+
565+ function test_selectUserHintUnset() {
566+ LightDM.Greeter.selectUser = "";
567+ resetLoader();
568+ verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
569+ }
570+
571+ function test_selectUserHintInvalid() {
572+ LightDM.Greeter.selectUser = "not-a-real-user";
573+ resetLoader();
574+ verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
561575 }
562576 }
563577}