Files
tubestation/browser/base/content/test/statuspanel/head.js
2018-03-13 18:21:47 -04:00

39 lines
1.2 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Returns a Promise that resolves when a StatusPanel for a
* window has finished being shown. Also asserts that the
* text content of the StatusPanel matches a value.
*
* @param win (browser window)
* The window that the StatusPanel belongs to.
* @param value (string)
* The value that the StatusPanel should show.
* @returns Promise
*/
async function promiseStatusPanelShown(win, value) {
let panel = win.StatusPanel.panel;
await BrowserTestUtils.waitForEvent(panel, "transitionend", (e) => {
return e.propertyName === "opacity" &&
win.getComputedStyle(e.target).opacity == "1";
});
Assert.equal(win.StatusPanel._labelElement.value, value);
}
/**
* Returns a Promise that resolves when a StatusPanel for a
* window has finished being hidden.
*
* @param win (browser window)
* The window that the StatusPanel belongs to.
*/
async function promiseStatusPanelHidden(win) {
let panel = win.StatusPanel.panel;
await BrowserTestUtils.waitForEvent(panel, "transitionend", (e) => {
return e.propertyName === "opacity" &&
win.getComputedStyle(e.target).opacity == "0";
});
}