@@ -119,10 +119,9 @@ Row {
119119 function init() {
120120 sessionSpy.target = findChild(shell, "greeter")
121121 swipeAwayGreeter()
122+ waitForLockscreen()
122123 shell.failedLoginsDelayAttempts = -1
123124 maxRetriesTextField.text = "-1"
124− AccountsService.enableLauncherWhileLocked = true
125− AccountsService.enableIndicatorsWhileLocked = true
126125 }
127126
128127 function cleanup() {
@@ -143,6 +142,10 @@ Row {
143142 // kill all (fake) running apps
144143 killApps()
145144
145+ AccountsService.enableLauncherWhileLocked = true
146+ AccountsService.enableIndicatorsWhileLocked = true
147+ AccountsService.demoEdges = false
148+
146149 // reload our test subject to get it in a fresh state once again
147150 shellLoader.active = true
148151
@@ -169,8 +172,9 @@ Row {
169172
170173 // wait until the animation has finished
171174 tryCompare(greeter, "showProgress", 0);
175+ }
172176
173− // and for pin to be ready
177+ function waitForLockscreen() {
174178 var lockscreen = findChild(shell, "lockscreen");
175179 var pinPadLoader = findChild(lockscreen, "pinPadLoader");
176180 tryCompare(pinPadLoader, "status", Loader.Ready)
@@ -193,6 +197,24 @@ Row {
193197 tryCompare(sessionSpy, "count", 1)
194198 }
195199
200+ function test_edgeDemoHidesLockscreen() {
201+ LightDM.Greeter.showGreeter()
202+ sessionSpy.clear()
203+ var lockscreen = findChild(shell, "lockscreen")
204+
205+ tryCompare(lockscreen, "shown", true)
206+ AccountsService.demoEdges = true
207+ tryCompare(lockscreen, "shown", false)
208+
209+ swipeAwayGreeter()
210+ tryCompare(sessionSpy, "count", 1)
211+
212+ // Lockscreen is only hidden by right edge demo, which we got rid
213+ // of above, so if we show greeter again, lockscreen should appear
214+ LightDM.Greeter.showGreeter()
215+ tryCompare(lockscreen, "shown", true)
216+ }
217+
196218 function test_disabledEdges() {
197219 var launcher = findChild(shell, "launcher")
198220 tryCompare(launcher, "available", true)