mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 21:55:31 +00:00
47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
"use strict";
|
|
|
|
var gTestTab;
|
|
var gContentAPI;
|
|
var gContentWindow;
|
|
|
|
requestLongerTimeout(2);
|
|
add_task(setup_UITourTest);
|
|
|
|
add_UITour_task(function* test_bg_getConfiguration() {
|
|
info("getConfiguration is on the allowed list so should work");
|
|
yield* loadForegroundTab();
|
|
let data = yield getConfigurationPromise("availableTargets");
|
|
ok(data, "Got data from getConfiguration");
|
|
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|
|
|
|
add_UITour_task(function* test_bg_showInfo() {
|
|
info("showInfo isn't on the allowed action list so should be denied");
|
|
yield* loadForegroundTab();
|
|
|
|
yield showInfoPromise("appMenu", "Hello from the background", "Surprise!").then(
|
|
() => ok(false, "panel shouldn't have shown from a background tab"),
|
|
() => ok(true, "panel wasn't shown from a background tab"));
|
|
|
|
yield BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|
|
|
|
|
|
function* loadForegroundTab() {
|
|
// Spawn a content task that resolves once we're sure the visibilityState was
|
|
// changed. This state is what the tests in this file rely on.
|
|
let promise = ContentTask.spawn(gBrowser.selectedTab.linkedBrowser, null, function* () {
|
|
return new Promise(resolve => {
|
|
let document = content.document;
|
|
document.addEventListener("visibilitychange", function onStateChange() {
|
|
Assert.equal(document.visibilityState, "hidden", "UITour page should be hidden now.");
|
|
document.removeEventListener("visibilitychange", onStateChange);
|
|
resolve();
|
|
});
|
|
});
|
|
});
|
|
yield BrowserTestUtils.openNewForegroundTab(gBrowser);
|
|
yield promise;
|
|
isnot(gBrowser.selectedTab, gTestTab, "Make sure tour tab isn't selected");
|
|
}
|