@@ -21,6 +21,7 @@ import AccountsService 0.1
2121import GSettings 1.0
2222import LightDM 0.1 as LightDM
2323import Ubuntu.SystemImage 0.1
24+import Ubuntu.Telephony 0.1 as Telephony
2425import Unity.Application 0.1
2526import Unity.Test 0.1 as UT
2627import Powerd 0.1
@@ -110,6 +111,11 @@ Row {
110111 signalName: "resettingDevice"
111112 }
112113
114+ Telephony.CallEntry {
115+ id: phoneCall
116+ phoneNumber: "+447812221111"
117+ }
118+
113119 UT.UnityTestCase {
114120 name: "ShellWithPin"
115121 when: windowShown
@@ -190,6 +196,16 @@ Row {
190196 }
191197 }
192198
199+ function confirmLockedApp(app) {
200+ var greeter = findChild(shell, "greeter")
201+ var lockscreen = findChild(shell, "lockscreen")
202+ tryCompare(greeter, "shown", false)
203+ tryCompare(lockscreen, "shown", false)
204+ tryCompare(greeter, "hasLockedApp", true)
205+ tryCompare(greeter, "lockedApp", app)
206+ tryCompare(ApplicationManager, "focusedApplicationId", app)
207+ }
208+
193209 function test_login() {
194210 sessionSpy.clear()
195211 tryCompare(sessionSpy, "count", 0)
@@ -340,11 +356,9 @@ Row {
340356 tryCompare(shell, "sideStageEnabled", false)
341357 tryCompare(applicationsDisplayLoader, "tabletMode", false)
342358
343− var app = ApplicationManager.startApplication("dialer-app")
344−
345− var greeter = findChild(shell, "greeter")
346− tryCompare(greeter, "showProgress", 0)
347− tryCompare(greeter, "hasLockedApp", true)
359+ var lockscreen = findChild(shell, "lockscreen")
360+ lockscreen.emergencyCall()
361+ confirmLockedApp("dialer-app")
348362
349363 // OK, we're in. Now try (but fail) to switch to tablet mode
350364 shell.tablet = true
@@ -353,9 +367,15 @@ Row {
353367
354368 // And when we kill the app, we go back to locked tablet mode
355369 killApps()
370+ var greeter = findChild(shell, "greeter")
356371 tryCompare(greeter, "showProgress", 1)
357372 tryCompare(shell, "sideStageEnabled", true)
358373 tryCompare(applicationsDisplayLoader, "tabletMode", true)
359374 }
375+
376+ function test_emergencyDialerIncoming() {
377+ callManager.foregroundCall = phoneCall
378+ confirmLockedApp("dialer-app")
379+ }
360380 }
361381}