diff options
Diffstat (limited to 'browser/base/content/test/alerts/browser_notification_replace.js')
-rw-r--r-- | browser/base/content/test/alerts/browser_notification_replace.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/browser/base/content/test/alerts/browser_notification_replace.js b/browser/base/content/test/alerts/browser_notification_replace.js new file mode 100644 index 0000000000..c92777f515 --- /dev/null +++ b/browser/base/content/test/alerts/browser_notification_replace.js @@ -0,0 +1,65 @@ +"use strict"; + +let notificationURL = + "http://example.org/browser/browser/base/content/test/alerts/file_dom_notifications.html"; + +add_task(async function test_notificationReplace() { + await addNotificationPermission(notificationURL); + + await BrowserTestUtils.withNewTab( + { + gBrowser, + url: notificationURL, + }, + async function dummyTabTask(aBrowser) { + await SpecialPowers.spawn(aBrowser, [], async function() { + let win = content.window.wrappedJSObject; + let notification = win.showNotification1(); + let promiseCloseEvent = ContentTaskUtils.waitForEvent( + notification, + "close" + ); + + let showEvent = await ContentTaskUtils.waitForEvent( + notification, + "show" + ); + Assert.equal( + showEvent.target.body, + "Test body 1", + "Showed tagged notification" + ); + + let newNotification = win.showNotification2(); + let newShowEvent = await ContentTaskUtils.waitForEvent( + newNotification, + "show" + ); + Assert.equal( + newShowEvent.target.body, + "Test body 2", + "Showed new notification with same tag" + ); + + let closeEvent = await promiseCloseEvent; + Assert.equal( + closeEvent.target.body, + "Test body 1", + "Closed previous tagged notification" + ); + + let promiseNewCloseEvent = ContentTaskUtils.waitForEvent( + newNotification, + "close" + ); + newNotification.close(); + let newCloseEvent = await promiseNewCloseEvent; + Assert.equal( + newCloseEvent.target.body, + "Test body 2", + "Closed new notification" + ); + }); + } + ); +}); |