summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/alerts/browser_notification_do_not_disturb.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/alerts/browser_notification_do_not_disturb.js')
-rw-r--r--browser/base/content/test/alerts/browser_notification_do_not_disturb.js80
1 files changed, 0 insertions, 80 deletions
diff --git a/browser/base/content/test/alerts/browser_notification_do_not_disturb.js b/browser/base/content/test/alerts/browser_notification_do_not_disturb.js
deleted file mode 100644
index 92c689fd2..000000000
--- a/browser/base/content/test/alerts/browser_notification_do_not_disturb.js
+++ /dev/null
@@ -1,80 +0,0 @@
-"use strict";
-
-var tab;
-var notificationURL = "http://example.org/browser/browser/base/content/test/alerts/file_dom_notifications.html";
-
-const ALERT_SERVICE = Cc["@mozilla.org/alerts-service;1"]
- .getService(Ci.nsIAlertsService)
- .QueryInterface(Ci.nsIAlertsDoNotDisturb);
-
-function test () {
- waitForExplicitFinish();
-
- try {
- // Only run the test if the do-not-disturb
- // interface has been implemented.
- ALERT_SERVICE.manualDoNotDisturb;
- ok(true, "Alert service implements do-not-disturb interface");
- } catch (e) {
- ok(true, "Alert service doesn't implement do-not-disturb interface, exiting test");
- finish();
- return;
- }
-
- let pm = Services.perms;
- registerCleanupFunction(function() {
- ALERT_SERVICE.manualDoNotDisturb = false;
- pm.remove(makeURI(notificationURL), "desktop-notification");
- gBrowser.removeTab(tab);
- window.restore();
- });
-
- pm.add(makeURI(notificationURL), "desktop-notification", pm.ALLOW_ACTION);
-
- // Make sure that do-not-disturb is not enabled.
- ok(!ALERT_SERVICE.manualDoNotDisturb, "Alert service should not be disabled when test starts");
- ALERT_SERVICE.manualDoNotDisturb = false;
-
- tab = gBrowser.addTab(notificationURL);
- gBrowser.selectedTab = tab;
- tab.linkedBrowser.addEventListener("load", onLoad, true);
-}
-
-function onLoad() {
- tab.linkedBrowser.removeEventListener("load", onLoad, true);
- openNotification(tab.linkedBrowser, "showNotification2").then(onAlertShowing);
-}
-
-function onAlertShowing() {
- info("Notification alert showing");
-
- let alertWindow = Services.wm.getMostRecentWindow("alert:alert");
- if (!alertWindow) {
- ok(true, "Notifications don't use XUL windows on all platforms.");
- closeNotification(tab.linkedBrowser).then(finish);
- return;
- }
- let doNotDisturbMenuItem = alertWindow.document.getElementById("doNotDisturbMenuItem");
- is(doNotDisturbMenuItem.localName, "menuitem", "menuitem found");
- alertWindow.addEventListener("beforeunload", onAlertClosing);
- doNotDisturbMenuItem.click();
- info("Clicked on do-not-disturb menuitem");
-}
-
-function onAlertClosing(event) {
- event.target.removeEventListener("beforeunload", onAlertClosing);
-
- ok(ALERT_SERVICE.manualDoNotDisturb, "Alert service should be disabled after clicking menuitem");
-
- // The notification should not appear, but there is
- // no way from the client-side to know that it was
- // blocked, except for waiting some time and realizing
- // that the "onshow" event never fired.
- openNotification(tab.linkedBrowser, "showNotification2", 2000)
- .then(onAlert2Showing, finish);
-}
-
-function onAlert2Showing() {
- ok(false, "the second alert should not have been shown");
- closeNotification(tab.linkedBrowser).then(finish);
-}