зеркало из https://github.com/mozilla/gecko-dev.git
38 строки
1.4 KiB
JavaScript
38 строки
1.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
Cu.import("resource://services-sync/main.js");
|
|
Cu.import("resource://services-sync/util.js");
|
|
|
|
// Simple test for block/unblock.
|
|
add_task(function *() {
|
|
Assert.ok(!Weave.Service.scheduler.isBlocked, "sync is not blocked.")
|
|
Assert.ok(!Svc.Prefs.has("scheduler.blocked-until"), "have no blocked pref");
|
|
Weave.Service.scheduler.blockSync();
|
|
|
|
Assert.ok(Weave.Service.scheduler.isBlocked, "sync is blocked.")
|
|
Assert.ok(Svc.Prefs.has("scheduler.blocked-until"), "have the blocked pref");
|
|
|
|
Weave.Service.scheduler.unblockSync();
|
|
Assert.ok(!Weave.Service.scheduler.isBlocked, "sync is not blocked.")
|
|
Assert.ok(!Svc.Prefs.has("scheduler.blocked-until"), "have no blocked pref");
|
|
|
|
// now check the "until" functionality.
|
|
let until = Date.now() + 1000;
|
|
Weave.Service.scheduler.blockSync(until);
|
|
Assert.ok(Weave.Service.scheduler.isBlocked, "sync is blocked.")
|
|
Assert.ok(Svc.Prefs.has("scheduler.blocked-until"), "have the blocked pref");
|
|
|
|
// wait for 'until' to pass.
|
|
yield new Promise((resolve, reject) => {
|
|
CommonUtils.namedTimer(resolve, 1000, {}, "timer");
|
|
});
|
|
|
|
// should have automagically unblocked and removed the pref.
|
|
Assert.ok(!Weave.Service.scheduler.isBlocked, "sync is not blocked.")
|
|
Assert.ok(!Svc.Prefs.has("scheduler.blocked-until"), "have no blocked pref");
|
|
});
|
|
|
|
function run_test() {
|
|
run_next_test();
|
|
}
|