@@ -20,6 +20,7 @@ import ".."
20import "../../../qml/Greeter"
20import "../../../qml/Greeter"
21import Ubuntu.Components 0.1
21import Ubuntu.Components 0.1
22import AccountsService 0.1
22import AccountsService 0.1
23import IntegratedLightDM 0.1 as LightDM
24import IntegratedLightDM 0.1 as LightDM
24import Unity.Test 0.1 as UT
25import Unity.Test 0.1 as UT
@@ -75,6 +76,11 @@ Item {
75 signalName: "emergencyCall"
76 signalName: "emergencyCall"
81+ schema.id: "com.canonical.Unity8.Greeter"
78 UT.UnityTestCase {
84 UT.UnityTestCase {
79 id: testCase
85 id: testCase
80 name: "Greeter"
86 name: "Greeter"
@@ -132,6 +138,8 @@ Item {
134 function init() {
140 function init() {
141+ greeterSettings.lockedOutTime = 0;
135 teaseSpy.clear();
143 teaseSpy.clear();
136 sessionStartedSpy.clear();
144 sessionStartedSpy.clear();
137 emergencyCallSpy.clear();
145 emergencyCallSpy.clear();
@@ -150,7 +158,7 @@ Item {
150 greeter.failedLoginsDelayMinutes = 5;
158 greeter.failedLoginsDelayMinutes = 5;
153− function cleanup() {
161+ function resetLoader() {
154 loader.itemDestroyed = false;
162 loader.itemDestroyed = false;
155 loader.active = false;
163 loader.active = false;
156 tryCompare(loader, "status", Loader.Null);
164 tryCompare(loader, "status", Loader.Null);
@@ -431,7 +439,26 @@ Item {
431 compare(LightDM.Infographic.username, "has-password");
439 compare(LightDM.Infographic.username, "has-password");
434− function test_forcedDelay() {
442+ function test_forcedDelayIntoGSettings() {
443+ greeter.failedLoginsDelayAttempts = 1;
444+ greeter.failedLoginsDelayMinutes = 1;
445+ selectUser("has-password");
446+ tryCompare(viewShowPromptSpy, "count", 1);
447+ compare(greeterSettings.lockedOutTime, 0);
448+ view.responded("wr0ng p4ssw0rd");
450+ var timestamp = new Date().getTime();
451+ verify(Math.abs(greeterSettings.lockedOutTime - timestamp) < 2000);
454+ function test_forcedDelayOnConstruction() {
455+ greeterSettings.lockedOutTime = new Date().getTime();
457+ view = findChild(greeter, "testView");
458+ compare(view.delayMinutes, greeter.failedLoginsDelayMinutes);
461+ function test_forcedDelayRoundTrip() {
435 greeter.failedLoginsDelayAttempts = 1;
462 greeter.failedLoginsDelayAttempts = 1;
436 greeter.failedLoginsDelayMinutes = 0.001; // make delay very short
463 greeter.failedLoginsDelayMinutes = 0.001; // make delay very short
@@ -440,7 +467,7 @@ Item {
441 compare(view.delayMinutes, 0);
468 compare(view.delayMinutes, 0);
442 view.responded("wr0ng p4ssw0rd");
469 view.responded("wr0ng p4ssw0rd");
443− tryCompare(view, "delayMinutes", 1);
470+ compare(view.delayMinutes, 1);
444 tryCompare(view, "delayMinutes", 0);
471 tryCompare(view, "delayMinutes", 0);