tor-browser

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

test_tracker_addChanged.js (1704B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const { Service } = ChromeUtils.importESModule(
      5  "resource://services-sync/service.sys.mjs"
      6 );
      7 
      8 add_task(async function test_tracker_basics() {
      9  let tracker = new LegacyTracker("Tracker", Service);
     10 
     11  let id = "the_id!";
     12 
     13  _("Make sure nothing exists yet..");
     14  let changes = await tracker.getChangedIDs();
     15  Assert.equal(changes[id], null);
     16 
     17  _("Make sure adding of time 0 works");
     18  await tracker.addChangedID(id, 0);
     19  changes = await tracker.getChangedIDs();
     20  Assert.equal(changes[id], 0);
     21 
     22  _("A newer time will replace the old 0");
     23  await tracker.addChangedID(id, 10);
     24  changes = await tracker.getChangedIDs();
     25  Assert.equal(changes[id], 10);
     26 
     27  _("An older time will not replace the newer 10");
     28  await tracker.addChangedID(id, 5);
     29  changes = await tracker.getChangedIDs();
     30  Assert.equal(changes[id], 10);
     31 
     32  _("Adding without time defaults to current time");
     33  await tracker.addChangedID(id);
     34  changes = await tracker.getChangedIDs();
     35  Assert.greater(changes[id], 10);
     36 });
     37 
     38 add_task(async function test_tracker_persistence() {
     39  let tracker = new LegacyTracker("Tracker", Service);
     40  let id = "abcdef";
     41 
     42  let promiseSave = new Promise((resolve, reject) => {
     43    let save = tracker._storage._save;
     44    tracker._storage._save = function () {
     45      save.call(tracker._storage).then(resolve, reject);
     46    };
     47  });
     48 
     49  await tracker.addChangedID(id, 5);
     50 
     51  await promiseSave;
     52 
     53  _("IDs saved.");
     54  const changes = await tracker.getChangedIDs();
     55  Assert.equal(5, changes[id]);
     56 
     57  let json = await Utils.jsonLoad(["changes", "tracker"], tracker);
     58  Assert.equal(5, json[id]);
     59 });