mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 17:55:50 +00:00
d19d88da30
MozReview-Commit-ID: BoGnB1aQxm8 --HG-- extra : rebase_source : 3014c44fb75c24616da5ca35b4e0addaf9982d9e
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
"use strict";
|
|
|
|
function isDOMLoaded(browser) {
|
|
return ContentTask.spawn(browser, null, async function() {
|
|
Assert.equal(content.document.readyState, "complete",
|
|
"Browser should be loaded.");
|
|
});
|
|
}
|
|
|
|
// It checks if calling BrowserTestUtils.browserLoaded() yields
|
|
// browser object.
|
|
add_task(async function() {
|
|
let tab = BrowserTestUtils.addTab(gBrowser, "http://example.com");
|
|
let browser = tab.linkedBrowser;
|
|
await BrowserTestUtils.browserLoaded(browser);
|
|
await isDOMLoaded(browser);
|
|
gBrowser.removeTab(tab);
|
|
});
|
|
|
|
// It checks that BrowserTestUtils.browserLoaded() works well with
|
|
// promise.all().
|
|
add_task(async function() {
|
|
let tabURLs = [
|
|
`http://example.org`,
|
|
`http://mochi.test:8888`,
|
|
`http://test:80`,
|
|
];
|
|
// Add tabs, get the respective browsers
|
|
let browsers = tabURLs.map(u => BrowserTestUtils.addTab(gBrowser, u).linkedBrowser);
|
|
|
|
// wait for promises to settle
|
|
await Promise.all((function* () {
|
|
for (let b of browsers) {
|
|
yield BrowserTestUtils.browserLoaded(b);
|
|
}
|
|
})());
|
|
for (const browser of browsers) {
|
|
await isDOMLoaded(browser);
|
|
}
|
|
// cleanup
|
|
browsers
|
|
.map(browser => gBrowser.getTabForBrowser(browser))
|
|
.forEach(tab => gBrowser.removeTab(tab));
|
|
});
|