diff options
Diffstat (limited to 'browser/base/content/test/popupNotifications/browser_popupNotification.js')
-rw-r--r-- | browser/base/content/test/popupNotifications/browser_popupNotification.js | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/browser/base/content/test/popupNotifications/browser_popupNotification.js b/browser/base/content/test/popupNotifications/browser_popupNotification.js deleted file mode 100644 index 6be3e4205..000000000 --- a/browser/base/content/test/popupNotifications/browser_popupNotification.js +++ /dev/null @@ -1,203 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -// These are shared between test #4 to #5 -var wrongBrowserNotificationObject = new BasicNotification("wrongBrowser"); -var wrongBrowserNotification; - -function test() { - waitForExplicitFinish(); - - ok(PopupNotifications, "PopupNotifications object exists"); - ok(PopupNotifications.panel, "PopupNotifications panel exists"); - - setup(); - goNext(); -} - -var tests = [ - { id: "Test#1", - run: function () { - this.notifyObj = new BasicNotification(this.id); - showNotification(this.notifyObj); - }, - onShown: function (popup) { - checkPopup(popup, this.notifyObj); - triggerMainCommand(popup); - }, - onHidden: function (popup) { - ok(this.notifyObj.mainActionClicked, "mainAction was clicked"); - ok(!this.notifyObj.dismissalCallbackTriggered, "dismissal callback wasn't triggered"); - ok(this.notifyObj.removedCallbackTriggered, "removed callback triggered"); - } - }, - { id: "Test#2", - run: function () { - this.notifyObj = new BasicNotification(this.id); - showNotification(this.notifyObj); - }, - onShown: function (popup) { - checkPopup(popup, this.notifyObj); - triggerSecondaryCommand(popup, 0); - }, - onHidden: function (popup) { - ok(this.notifyObj.secondaryActionClicked, "secondaryAction was clicked"); - ok(!this.notifyObj.dismissalCallbackTriggered, "dismissal callback wasn't triggered"); - ok(this.notifyObj.removedCallbackTriggered, "removed callback triggered"); - } - }, - { id: "Test#3", - run: function () { - this.notifyObj = new BasicNotification(this.id); - this.notification = showNotification(this.notifyObj); - }, - onShown: function (popup) { - checkPopup(popup, this.notifyObj); - dismissNotification(popup); - }, - onHidden: function (popup) { - ok(this.notifyObj.dismissalCallbackTriggered, "dismissal callback triggered"); - this.notification.remove(); - ok(this.notifyObj.removedCallbackTriggered, "removed callback triggered"); - } - }, - // test opening a notification for a background browser - // Note: test 4 to 6 share a tab. - { id: "Test#4", - run: function* () { - let tab = gBrowser.addTab("about:blank"); - isnot(gBrowser.selectedTab, tab, "new tab isn't selected"); - wrongBrowserNotificationObject.browser = gBrowser.getBrowserForTab(tab); - let promiseTopic = promiseTopicObserved("PopupNotifications-backgroundShow"); - wrongBrowserNotification = showNotification(wrongBrowserNotificationObject); - yield promiseTopic; - is(PopupNotifications.isPanelOpen, false, "panel isn't open"); - ok(!wrongBrowserNotificationObject.mainActionClicked, "main action wasn't clicked"); - ok(!wrongBrowserNotificationObject.secondaryActionClicked, "secondary action wasn't clicked"); - ok(!wrongBrowserNotificationObject.dismissalCallbackTriggered, "dismissal callback wasn't called"); - goNext(); - } - }, - // now select that browser and test to see that the notification appeared - { id: "Test#5", - run: function () { - this.oldSelectedTab = gBrowser.selectedTab; - gBrowser.selectedTab = gBrowser.tabs[gBrowser.tabs.length - 1]; - }, - onShown: function (popup) { - checkPopup(popup, wrongBrowserNotificationObject); - is(PopupNotifications.isPanelOpen, true, "isPanelOpen getter doesn't lie"); - - // switch back to the old browser - gBrowser.selectedTab = this.oldSelectedTab; - }, - onHidden: function (popup) { - // actually remove the notification to prevent it from reappearing - ok(wrongBrowserNotificationObject.dismissalCallbackTriggered, "dismissal callback triggered due to tab switch"); - wrongBrowserNotification.remove(); - ok(wrongBrowserNotificationObject.removedCallbackTriggered, "removed callback triggered"); - wrongBrowserNotification = null; - } - }, - // test that the removed notification isn't shown on browser re-select - { id: "Test#6", - run: function* () { - let promiseTopic = promiseTopicObserved("PopupNotifications-updateNotShowing"); - gBrowser.selectedTab = gBrowser.tabs[gBrowser.tabs.length - 1]; - yield promiseTopic; - is(PopupNotifications.isPanelOpen, false, "panel isn't open"); - gBrowser.removeTab(gBrowser.selectedTab); - goNext(); - } - }, - // Test that two notifications with the same ID result in a single displayed - // notification. - { id: "Test#7", - run: function () { - this.notifyObj = new BasicNotification(this.id); - // Show the same notification twice - this.notification1 = showNotification(this.notifyObj); - this.notification2 = showNotification(this.notifyObj); - }, - onShown: function (popup) { - checkPopup(popup, this.notifyObj); - this.notification2.remove(); - }, - onHidden: function (popup) { - ok(!this.notifyObj.dismissalCallbackTriggered, "dismissal callback wasn't triggered"); - ok(this.notifyObj.removedCallbackTriggered, "removed callback triggered"); - } - }, - // Test that two notifications with different IDs are displayed - { id: "Test#8", - run: function () { - this.testNotif1 = new BasicNotification(this.id); - this.testNotif1.message += " 1"; - showNotification(this.testNotif1); - this.testNotif2 = new BasicNotification(this.id); - this.testNotif2.message += " 2"; - this.testNotif2.id += "-2"; - showNotification(this.testNotif2); - }, - onShown: function (popup) { - is(popup.childNodes.length, 2, "two notifications are shown"); - // Trigger the main command for the first notification, and the secondary - // for the second. Need to do mainCommand first since the secondaryCommand - // triggering is async. - triggerMainCommand(popup); - is(popup.childNodes.length, 1, "only one notification left"); - triggerSecondaryCommand(popup, 0); - }, - onHidden: function (popup) { - ok(this.testNotif1.mainActionClicked, "main action #1 was clicked"); - ok(!this.testNotif1.secondaryActionClicked, "secondary action #1 wasn't clicked"); - ok(!this.testNotif1.dismissalCallbackTriggered, "dismissal callback #1 wasn't called"); - - ok(!this.testNotif2.mainActionClicked, "main action #2 wasn't clicked"); - ok(this.testNotif2.secondaryActionClicked, "secondary action #2 was clicked"); - ok(!this.testNotif2.dismissalCallbackTriggered, "dismissal callback #2 wasn't called"); - } - }, - // Test notification without mainAction - { id: "Test#9", - run: function () { - this.notifyObj = new BasicNotification(this.id); - this.notifyObj.mainAction = null; - this.notification = showNotification(this.notifyObj); - }, - onShown: function (popup) { - checkPopup(popup, this.notifyObj); - dismissNotification(popup); - }, - onHidden: function (popup) { - this.notification.remove(); - } - }, - // Test two notifications with different anchors - { id: "Test#10", - run: function () { - this.notifyObj = new BasicNotification(this.id); - this.firstNotification = showNotification(this.notifyObj); - this.notifyObj2 = new BasicNotification(this.id); - this.notifyObj2.id += "-2"; - this.notifyObj2.anchorID = "addons-notification-icon"; - // Second showNotification() overrides the first - this.secondNotification = showNotification(this.notifyObj2); - }, - onShown: function (popup) { - // This also checks that only one element is shown. - checkPopup(popup, this.notifyObj2); - is(document.getElementById("geo-notification-icon").boxObject.width, 0, - "geo anchor shouldn't be visible"); - dismissNotification(popup); - }, - onHidden: function (popup) { - // Remove the notifications - this.firstNotification.remove(); - this.secondNotification.remove(); - ok(this.notifyObj.removedCallbackTriggered, "removed callback triggered"); - ok(this.notifyObj2.removedCallbackTriggered, "removed callback triggered"); - } - } -]; |