Bug 983971 - Do not use gralloc for small size on ICS gonk r=nical
[gecko.git] / dom / alarm / test / test_alarm_remove.html
blobecffce9ed9e018f97d1f040b18fc4dae69ceb45b
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Test Adding and Removing Alarms with Alarm API</title>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
7 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
8 </head>
9 <body>
10 <p id="display"></p>
11 <div id="content" style="display: none"></div>
12 <pre id="test">
13 <script type="application/javascript">
15 "use strict";
17 function checkNumberOfAlarms(n, cbk) {
18 var domRequest;
19 try {
20 domRequest = navigator.mozAlarms.getAll();
21 } catch (e) {
22 ok(false,
23 "Unexpected exception trying to get all alarms.");
25 domRequest.onsuccess = function(e) {
26 ok(e.target.result.length === n, "Correct number of alarms set.");
27 cbk();
31 // Add alarm and then remove it
32 function testAddRemove() {
33 var tomorrow = new Date();
34 tomorrow.setDate(tomorrow.getDate() + 1);
36 var domRequest;
37 try {
38 domRequest = navigator.mozAlarms.getAll();
39 } catch (e) {
40 ok(false,
41 "Unexpected exception trying to get all alarms.");
43 return SimpleTest.finish();
45 domRequest.onsuccess = function(e) {
46 var initialAlarmsN = e.target.result.length;
48 var dr;
49 try {
50 dr = navigator.mozAlarms.add(tomorrow, "honorTimezone", null);
51 } catch (e) {
52 ok(false,
53 "Unexpected exception trying add alarm.");
55 return SimpleTest.finish();
57 dr.onsuccess = function(ev) {
58 var alarmId = ev.target.result;
60 checkNumberOfAlarms(initialAlarmsN + 1, function() {
61 navigator.mozAlarms.remove(alarmId);
63 checkNumberOfAlarms(initialAlarmsN, function() {
64 SimpleTest.finish();
65 });
66 });
73 function startTests() {
75 SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
77 // Currently applicable only on FxOS
78 if (navigator.userAgent.indexOf("Mobile") != -1 &&
79 navigator.appVersion.indexOf("Android") == -1) {
81 testAddRemove();
83 } else {
84 ok(true, "mozAlarms on Firefox OS only.");
85 SimpleTest.finish();
88 });
91 SimpleTest.expectAssertions(0, 9);
92 SimpleTest.waitForExplicitFinish();
93 if (SpecialPowers.hasPermission("alarms", document)) {
94 startTests();
95 } else {
96 // Add the permission and reload so it's propogated
97 SpecialPowers.addPermission("alarms", true, document);
98 window.location.reload();
100 </script>
101 </pre>
102 </body>
103 </html>