tenfourfox/browser/components/sessionstore/test/browser_swapDocShells.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

36 lines
1.0 KiB
JavaScript

"use strict";
add_task(function* () {
let tab = gBrowser.selectedTab = gBrowser.addTab("about:mozilla");
yield promiseBrowserLoaded(gBrowser.selectedBrowser);
let win = gBrowser.replaceTabWithWindow(tab);
yield promiseDelayedStartupFinished(win);
yield promiseBrowserHasURL(win.gBrowser.browsers[0], "about:mozilla");
win.duplicateTabIn(win.gBrowser.selectedTab, "tab");
yield promiseTabRestored(win.gBrowser.tabs[1]);
let browser = win.gBrowser.browsers[1];
is(browser.currentURI.spec, "about:mozilla", "tab was duplicated");
yield BrowserTestUtils.closeWindow(win);
});
function promiseDelayedStartupFinished(win) {
let deferred = Promise.defer();
whenDelayedStartupFinished(win, deferred.resolve);
return deferred.promise;
}
function promiseBrowserHasURL(browser, url) {
let promise = Promise.resolve();
if (browser.contentDocument.readyState === "complete" &&
browser.currentURI.spec === url) {
return promise;
}
return promise.then(() => promiseBrowserHasURL(browser, url));
}