gecko-dev/webapprt/test/chrome/browser_alarm.js

39 lines
1.3 KiB
JavaScript

Cu.import("resource://gre/modules/Services.jsm");
function test() {
waitForExplicitFinish();
let mutObserverAlarmSet = null;
let mutObserverAlarmFired = null;
let alarmSet = false;
loadWebapp("alarm.webapp", undefined, function onLoad() {
let principal = document.getElementById("content").contentDocument.defaultView.document.nodePrincipal;
let permValue = Services.perms.testExactPermissionFromPrincipal(principal, "alarms");
is(permValue, Ci.nsIPermissionManager.ALLOW_ACTION, "Alarm permission: allow.");
let msgSet = gAppBrowser.contentDocument.getElementById("msgSet");
mutObserverAlarmSet = new MutationObserver(function(mutations) {
is(msgSet.textContent, "Success.", "Alarm added.");
alarmSet = true;
});
mutObserverAlarmSet.observe(msgSet, { childList: true });
let msgFired = gAppBrowser.contentDocument.getElementById("msgFired");
mutObserverAlarmFired = new MutationObserver(function(mutations) {
is(msgFired.textContent, "Alarm fired.", "Alarm fired.");
ok(alarmSet, "Alarm set before firing.");
finish();
});
mutObserverAlarmFired.observe(msgFired, { childList: true });
});
registerCleanupFunction(function() {
mutObserverAlarmSet.disconnect();
mutObserverAlarmFired.disconnect();
});
}