|
1 Cu.import("resource://gre/modules/Services.jsm"); |
|
2 |
|
3 function test() { |
|
4 waitForExplicitFinish(); |
|
5 |
|
6 let mutObserverAlarmSet = null; |
|
7 let mutObserverAlarmFired = null; |
|
8 |
|
9 let alarmSet = false; |
|
10 |
|
11 loadWebapp("alarm.webapp", undefined, function onLoad() { |
|
12 let principal = document.getElementById("content").contentDocument.defaultView.document.nodePrincipal; |
|
13 let permValue = Services.perms.testExactPermissionFromPrincipal(principal, "alarms"); |
|
14 is(permValue, Ci.nsIPermissionManager.ALLOW_ACTION, "Alarm permission: allow."); |
|
15 |
|
16 let msgSet = gAppBrowser.contentDocument.getElementById("msgSet"); |
|
17 mutObserverAlarmSet = new MutationObserver(function(mutations) { |
|
18 is(msgSet.textContent, "Success.", "Alarm added."); |
|
19 alarmSet = true; |
|
20 }); |
|
21 mutObserverAlarmSet.observe(msgSet, { childList: true }); |
|
22 |
|
23 let msgFired = gAppBrowser.contentDocument.getElementById("msgFired"); |
|
24 mutObserverAlarmFired = new MutationObserver(function(mutations) { |
|
25 is(msgFired.textContent, "Alarm fired.", "Alarm fired."); |
|
26 |
|
27 ok(alarmSet, "Alarm set before firing."); |
|
28 |
|
29 finish(); |
|
30 }); |
|
31 mutObserverAlarmFired.observe(msgFired, { childList: true }); |
|
32 }); |
|
33 |
|
34 registerCleanupFunction(function() { |
|
35 mutObserverAlarmSet.disconnect(); |
|
36 mutObserverAlarmFired.disconnect(); |
|
37 }); |
|
38 } |