1
Cu.import("resource://services-sync/constants.js");
2
Cu.import("resource://services-sync/status.js");
6
// Check initial states
7
do_check_false(Status.enforceBackoff);
8
do_check_eq(Status.backoffInterval, 0);
9
do_check_eq(Status.minimumNextSync, 0);
11
do_check_eq(Status.service, STATUS_OK);
12
do_check_eq(Status.sync, SYNC_SUCCEEDED);
13
do_check_eq(Status.login, LOGIN_SUCCEEDED);
14
for (let name in Status.engines) {
15
do_throw('Status.engines should be empty.');
17
do_check_eq(Status.partial, false);
21
for each (let code in [LOGIN_FAILED_NO_USERNAME,
22
LOGIN_FAILED_NO_PASSWORD,
23
LOGIN_FAILED_NO_PASSPHRASE]) {
25
do_check_eq(Status.login, code);
26
do_check_eq(Status.service, CLIENT_NOT_CONFIGURED);
30
Status.login = LOGIN_FAILED;
31
do_check_eq(Status.login, LOGIN_FAILED);
32
do_check_eq(Status.service, LOGIN_FAILED);
35
Status.login = LOGIN_SUCCEEDED;
36
do_check_eq(Status.login, LOGIN_SUCCEEDED);
37
do_check_eq(Status.service, STATUS_OK);
42
Status.sync = SYNC_FAILED;
43
do_check_eq(Status.sync, SYNC_FAILED);
44
do_check_eq(Status.service, SYNC_FAILED);
46
Status.sync = SYNC_SUCCEEDED;
47
do_check_eq(Status.sync, SYNC_SUCCEEDED);
48
do_check_eq(Status.service, STATUS_OK);
53
// Check engine status
54
Status.engines = ["testEng1", ENGINE_SUCCEEDED];
55
do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
56
do_check_eq(Status.service, STATUS_OK);
58
Status.engines = ["testEng2", ENGINE_DOWNLOAD_FAIL];
59
do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
60
do_check_eq(Status.engines["testEng2"], ENGINE_DOWNLOAD_FAIL);
61
do_check_eq(Status.service, SYNC_FAILED_PARTIAL);
63
Status.engines = ["testEng3", ENGINE_SUCCEEDED];
64
do_check_eq(Status.engines["testEng1"], ENGINE_SUCCEEDED);
65
do_check_eq(Status.engines["testEng2"], ENGINE_DOWNLOAD_FAIL);
66
do_check_eq(Status.engines["testEng3"], ENGINE_SUCCEEDED);
67
do_check_eq(Status.service, SYNC_FAILED_PARTIAL);
71
Status.sync = SYNC_FAILED;
74
do_check_eq(Status.service, STATUS_OK);
75
do_check_eq(Status.sync, SYNC_SUCCEEDED);
76
for (name in Status.engines) {
77
do_throw('Status.engines should be empty.');
82
Status.enforceBackoff = true;
83
Status.backOffInterval = 4815162342;
84
Status.backOffInterval = 42;
85
Status.resetBackoff();
87
do_check_false(Status.enforceBackoff);
88
do_check_eq(Status.backoffInterval, 0);
89
do_check_eq(Status.minimumNextSync, 0);