fune/browser/components/customizableui/test/browser_panelUINotifications_fullscreen.js
Victor Porof 1f830c96da Bug 1561435 - Format browser/components/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36042

--HG--
extra : source : d3afcafdce650a6f36cebbc126ee93b17f13cf52
2019-07-05 09:53:32 +02:00

92 lines
2.2 KiB
JavaScript

"use strict";
const { AppMenuNotifications } = ChromeUtils.import(
"resource://gre/modules/AppMenuNotifications.jsm"
);
add_task(async function testFullscreen() {
is(
PanelUI.notificationPanel.state,
"closed",
"update-manual doorhanger is closed."
);
let mainActionCalled = false;
let mainAction = {
callback: () => {
mainActionCalled = true;
},
};
AppMenuNotifications.showNotification("update-manual", mainAction);
isnot(
PanelUI.notificationPanel.state,
"closed",
"update-manual doorhanger is showing."
);
let notifications = [...PanelUI.notificationPanel.children].filter(
n => !n.hidden
);
is(
notifications.length,
1,
"PanelUI doorhanger is only displaying one notification."
);
let doorhanger = notifications[0];
is(
doorhanger.id,
"appMenu-update-manual-notification",
"PanelUI is displaying the update-manual notification."
);
let popuphiddenPromise = BrowserTestUtils.waitForEvent(
PanelUI.notificationPanel,
"popuphidden"
);
document.documentElement.focus();
EventUtils.synthesizeKey("KEY_F11");
await popuphiddenPromise;
await new Promise(executeSoon);
is(
PanelUI.notificationPanel.state,
"closed",
"update-manual doorhanger is closed."
);
FullScreen.showNavToolbox();
is(
PanelUI.menuButton.getAttribute("badge-status"),
"update-manual",
"Badge is displaying on PanelUI button."
);
let popupshownPromise = BrowserTestUtils.waitForEvent(
PanelUI.notificationPanel,
"popupshown"
);
EventUtils.synthesizeKey("KEY_F11");
await popupshownPromise;
await new Promise(executeSoon);
isnot(
PanelUI.notificationPanel.state,
"closed",
"update-manual doorhanger is showing."
);
isnot(
PanelUI.menuButton.getAttribute("badge-status"),
"update-manual",
"Badge is not displaying on PanelUI button."
);
doorhanger.button.click();
ok(mainActionCalled, "Main action callback was called");
is(
PanelUI.notificationPanel.state,
"closed",
"update-manual doorhanger is closed."
);
is(
PanelUI.menuButton.hasAttribute("badge-status"),
false,
"Should not have a badge status"
);
});