gecko-dev/toolkit/components/extensions/test/xpcshell/test_ext_idle.js
Bob Silverberg 55812c7f73 Bug 1299846 - Complete the implementation of chrome.idle.queryState, r=kmag
MozReview-Commit-ID: jYsePeTluZ

--HG--
extra : rebase_source : 56da3e22cdd1d3f28a8f56ae969be63af4995432
2016-09-01 09:28:56 -04:00

65 lines
1.6 KiB
JavaScript

/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
Cu.import("resource://testing-common/MockRegistrar.jsm");
let idleService = {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIIdleService]),
idleTime: 19999,
};
add_task(function* setup() {
let fakeIdleService = MockRegistrar.register("@mozilla.org/widget/idleservice;1", idleService);
do_register_cleanup(() => {
MockRegistrar.unregister(fakeIdleService);
});
});
add_task(function* testIdleActive() {
function background() {
browser.idle.queryState(20).then(status => {
browser.test.assertEq("active", status, "Idle status is active");
browser.test.notifyPass("idle");
},
err => {
browser.test.fail(`Error: ${err} :: ${err.stack}`);
browser.test.notifyFail("idle");
});
}
let extension = ExtensionTestUtils.loadExtension({
background,
manifest: {
permissions: ["idle"],
},
});
yield extension.startup();
yield extension.awaitFinish("idle");
yield extension.unload();
});
add_task(function* testIdleIdle() {
function background() {
browser.idle.queryState(15).then(status => {
browser.test.assertEq("idle", status, "Idle status is idle");
browser.test.notifyPass("idle");
},
err => {
browser.test.fail(`Error: ${err} :: ${err.stack}`);
browser.test.notifyFail("idle");
});
}
let extension = ExtensionTestUtils.loadExtension({
background,
manifest: {
permissions: ["idle"],
},
});
yield extension.startup();
yield extension.awaitFinish("idle");
yield extension.unload();
});