services/sync/tests/unit/test_tracker_addChanged.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:d83fd4d1b64f
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 Cu.import("resource://services-sync/engines.js");
5 Cu.import("resource://services-sync/service.js");
6 Cu.import("resource://services-sync/util.js");
7
8 function run_test() {
9 run_next_test();
10 }
11
12 add_test(function test_tracker_basics() {
13 let tracker = new Tracker("Tracker", Service);
14 tracker.persistChangedIDs = false;
15
16 let id = "the_id!";
17
18 _("Make sure nothing exists yet..");
19 do_check_eq(tracker.changedIDs[id], null);
20
21 _("Make sure adding of time 0 works");
22 tracker.addChangedID(id, 0);
23 do_check_eq(tracker.changedIDs[id], 0);
24
25 _("A newer time will replace the old 0");
26 tracker.addChangedID(id, 10);
27 do_check_eq(tracker.changedIDs[id], 10);
28
29 _("An older time will not replace the newer 10");
30 tracker.addChangedID(id, 5);
31 do_check_eq(tracker.changedIDs[id], 10);
32
33 _("Adding without time defaults to current time");
34 tracker.addChangedID(id);
35 do_check_true(tracker.changedIDs[id] > 10);
36
37 run_next_test();
38 });
39
40 add_test(function test_tracker_persistence() {
41 let tracker = new Tracker("Tracker", Service);
42 let id = "abcdef";
43
44 tracker.persistChangedIDs = true;
45 tracker.onSavedChangedIDs = function () {
46 _("IDs saved.");
47 do_check_eq(5, tracker.changedIDs[id]);
48
49 // Verify the write by reading the file back.
50 Utils.jsonLoad("changes/tracker", this, function (json) {
51 do_check_eq(5, json[id]);
52 tracker.persistChangedIDs = false;
53 delete tracker.onSavedChangedIDs;
54 run_next_test();
55 });
56 };
57
58 tracker.addChangedID(id, 5);
59 });

mercurial