gecko-dev/browser/components/uitour/test/browser_backgroundTab.js
Matthew Noorenberghe 85e079584d Bug 1079554 - Test ignoring UITour messages from pages that aren't visible. r=Unfocused
--HG--
extra : rebase_source : 2b872f3c3c9fbe40101753cc386ebaccf9b6f7c9
2015-04-23 17:02:51 -07:00

50 lines
1.4 KiB
JavaScript

"use strict";
let gTestTab;
let gContentAPI;
let gContentWindow;
Components.utils.import("resource:///modules/UITour.jsm");
function test() {
requestLongerTimeout(2);
UITourTest();
}
let tests = [
function test_bg_getConfiguration(done) {
info("getConfiguration is on the allowed list so should work");
loadForegroundTab().then(() => {
gContentAPI.getConfiguration("availableTargets", (data) => {
ok(data, "Got data from getConfiguration");
gBrowser.removeCurrentTab();
done();
});
});
},
taskify(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 backgrund", "Surprise!").then(
() => ok(false, "panel shouldn't have shown from a background tab"),
() => ok(true, "panel wasn't shown from a background tab"));
gBrowser.removeCurrentTab();
}),
];
function loadForegroundTab() {
let newTab = gBrowser.addTab("about:blank", {skipAnimation: true});
gBrowser.selectedTab = newTab;
return new Promise((resolve) => {
newTab.linkedBrowser.addEventListener("load", function onLoad() {
newTab.linkedBrowser.removeEventListener("load", onLoad, true);
isnot(gBrowser.selectedTab, gTestTab, "Make sure tour tab isn't selected");
resolve();
}, true);
});
}