mirror of
https://github.com/Feodor2/Mypal68.git
synced 2025-06-19 15:25:50 -04:00
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
"use strict";
|
|
|
|
add_task(async function() {
|
|
let tab = (gBrowser.selectedTab = BrowserTestUtils.addTab(
|
|
gBrowser,
|
|
"about:mozilla"
|
|
));
|
|
await promiseBrowserLoaded(gBrowser.selectedBrowser);
|
|
|
|
let win = gBrowser.replaceTabWithWindow(tab);
|
|
await promiseDelayedStartupFinished(win);
|
|
await promiseBrowserHasURL(win.gBrowser.browsers[0], "about:mozilla");
|
|
|
|
win.duplicateTabIn(win.gBrowser.selectedTab, "tab");
|
|
await promiseTabRestored(win.gBrowser.tabs[1]);
|
|
|
|
let browser = win.gBrowser.browsers[1];
|
|
is(browser.currentURI.spec, "about:mozilla", "tab was duplicated");
|
|
|
|
await BrowserTestUtils.closeWindow(win);
|
|
});
|
|
|
|
function promiseDelayedStartupFinished(win) {
|
|
return new Promise(resolve => {
|
|
whenDelayedStartupFinished(win, resolve);
|
|
});
|
|
}
|
|
|
|
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));
|
|
}
|