tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_status.js (2570B)


      1 const { Status } = ChromeUtils.importESModule(
      2  "resource://services-sync/status.sys.mjs"
      3 );
      4 
      5 function run_test() {
      6  // Check initial states
      7  Assert.ok(!Status.enforceBackoff);
      8  Assert.equal(Status.backoffInterval, 0);
      9  Assert.equal(Status.minimumNextSync, 0);
     10 
     11  Assert.equal(Status.service, STATUS_OK);
     12  Assert.equal(Status.sync, SYNC_SUCCEEDED);
     13  Assert.equal(Status.login, LOGIN_SUCCEEDED);
     14  if (Status.engines.length) {
     15    do_throw("Status.engines should be empty.");
     16  }
     17  Assert.equal(Status.partial, false);
     18 
     19  // Check login status
     20  for (let code of [LOGIN_FAILED_NO_USERNAME, LOGIN_FAILED_NO_PASSPHRASE]) {
     21    Status.login = code;
     22    Assert.equal(Status.login, code);
     23    Assert.equal(Status.service, CLIENT_NOT_CONFIGURED);
     24    Status.resetSync();
     25  }
     26 
     27  Status.login = LOGIN_FAILED;
     28  Assert.equal(Status.login, LOGIN_FAILED);
     29  Assert.equal(Status.service, LOGIN_FAILED);
     30  Status.resetSync();
     31 
     32  Status.login = LOGIN_SUCCEEDED;
     33  Assert.equal(Status.login, LOGIN_SUCCEEDED);
     34  Assert.equal(Status.service, STATUS_OK);
     35  Status.resetSync();
     36 
     37  // Check sync status
     38  Status.sync = SYNC_FAILED;
     39  Assert.equal(Status.sync, SYNC_FAILED);
     40  Assert.equal(Status.service, SYNC_FAILED);
     41 
     42  Status.sync = SYNC_SUCCEEDED;
     43  Assert.equal(Status.sync, SYNC_SUCCEEDED);
     44  Assert.equal(Status.service, STATUS_OK);
     45 
     46  Status.resetSync();
     47 
     48  // Check engine status
     49  Status.engines = ["testEng1", ENGINE_SUCCEEDED];
     50  Assert.equal(Status.engines.testEng1, ENGINE_SUCCEEDED);
     51  Assert.equal(Status.service, STATUS_OK);
     52 
     53  Status.engines = ["testEng2", ENGINE_DOWNLOAD_FAIL];
     54  Assert.equal(Status.engines.testEng1, ENGINE_SUCCEEDED);
     55  Assert.equal(Status.engines.testEng2, ENGINE_DOWNLOAD_FAIL);
     56  Assert.equal(Status.service, SYNC_FAILED_PARTIAL);
     57 
     58  Status.engines = ["testEng3", ENGINE_SUCCEEDED];
     59  Assert.equal(Status.engines.testEng1, ENGINE_SUCCEEDED);
     60  Assert.equal(Status.engines.testEng2, ENGINE_DOWNLOAD_FAIL);
     61  Assert.equal(Status.engines.testEng3, ENGINE_SUCCEEDED);
     62  Assert.equal(Status.service, SYNC_FAILED_PARTIAL);
     63 
     64  // Check resetSync
     65  Status.sync = SYNC_FAILED;
     66  Status.resetSync();
     67 
     68  Assert.equal(Status.service, STATUS_OK);
     69  Assert.equal(Status.sync, SYNC_SUCCEEDED);
     70  if (Status.engines.length) {
     71    do_throw("Status.engines should be empty.");
     72  }
     73 
     74  // Check resetBackoff
     75  Status.enforceBackoff = true;
     76  Status.backOffInterval = 4815162342;
     77  Status.backOffInterval = 42;
     78  Status.resetBackoff();
     79 
     80  Assert.ok(!Status.enforceBackoff);
     81  Assert.equal(Status.backoffInterval, 0);
     82  Assert.equal(Status.minimumNextSync, 0);
     83 }