forked from mirrors/gecko-dev
63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
var startTimerCalled = false;
|
|
|
|
/**
|
|
* Tests that registration doesn't happen when the expiry time is
|
|
* not set.
|
|
*/
|
|
add_task(function test_initialize_no_expiry() {
|
|
startTimerCalled = false;
|
|
|
|
let initializedPromise = yield MozLoopService.initialize();
|
|
Assert.equal(initializedPromise, "registration not needed",
|
|
"Promise should be fulfilled");
|
|
Assert.equal(startTimerCalled, false,
|
|
"should not register when no expiry time is set");
|
|
});
|
|
|
|
/**
|
|
* Tests that registration doesn't happen when the expiry time is
|
|
* in the past.
|
|
*/
|
|
add_task(function test_initialize_expiry_past() {
|
|
// Set time to be 2 seconds in the past.
|
|
var nowSeconds = Date.now() / 1000;
|
|
Services.prefs.setIntPref("loop.urlsExpiryTimeSeconds", nowSeconds - 2);
|
|
startTimerCalled = false;
|
|
|
|
MozLoopService.initialize();
|
|
|
|
Assert.equal(startTimerCalled, false,
|
|
"should not register when expiry time is in past");
|
|
});
|
|
|
|
/**
|
|
* Tests that registration happens when the expiry time is in
|
|
* the future.
|
|
*/
|
|
add_task(function test_initialize_starts_timer() {
|
|
// Set time to be 1 minute in the future
|
|
var nowSeconds = Date.now() / 1000;
|
|
Services.prefs.setIntPref("loop.urlsExpiryTimeSeconds", nowSeconds + 60);
|
|
startTimerCalled = false;
|
|
|
|
MozLoopService.initialize();
|
|
|
|
Assert.equal(startTimerCalled, true,
|
|
"should start the timer when expiry time is in the future");
|
|
});
|
|
|
|
function run_test()
|
|
{
|
|
setupFakeLoopServer();
|
|
|
|
// Override MozLoopService's initializeTimer, so that we can verify the timeout is called
|
|
// correctly.
|
|
MozLoopService.initializeTimerFunc = function() {
|
|
startTimerCalled = true;
|
|
};
|
|
|
|
run_next_test();
|
|
}
|