Bug 1602318 - Make some browser tests wait on the test uri to load instead of any uri. r=kmag

Differential Revision: https://phabricator.services.mozilla.com/D70624
This commit is contained in:
Matt Woodrow 2020-04-24 06:58:31 +00:00
Родитель f9c3d901f9
Коммит da08be6550
6 изменённых файлов: 47 добавлений и 40 удалений

Просмотреть файл

@ -15,7 +15,7 @@ add_task(async function() {
let tab = BrowserTestUtils.addTab(gBrowser); let tab = BrowserTestUtils.addTab(gBrowser);
BrowserTestUtils.loadURI(tab.linkedBrowser, uri); BrowserTestUtils.loadURI(tab.linkedBrowser, uri);
await BrowserTestUtils.browserLoaded(tab.linkedBrowser); await BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, uri);
await TabStateFlusher.flush(tab.linkedBrowser); await TabStateFlusher.flush(tab.linkedBrowser);
let key = tab.linkedBrowser.permanentKey; let key = tab.linkedBrowser.permanentKey;

Просмотреть файл

@ -84,7 +84,6 @@ skip-if = fission || debug # bug 1211084
[browser_backup_recovery.js] [browser_backup_recovery.js]
skip-if = (verify && debug && (os == 'linux')) skip-if = (verify && debug && (os == 'linux'))
[browser_broadcast.js] [browser_broadcast.js]
skip-if = fission || (os == 'mac') || (os == 'linux' && !debug && bits == 64) # Bug 1533895; Fission: SecurityError: The operation is insecure.
[browser_capabilities.js] [browser_capabilities.js]
[browser_cleaner.js] [browser_cleaner.js]
[browser_crashedTabs.js] [browser_crashedTabs.js]

Просмотреть файл

@ -10,7 +10,7 @@ const INITIAL_VALUE = "browser_broadcast.js-initial-value-" + Date.now();
* closing a tab. * closing a tab.
*/ */
add_task(async function flush_on_tabclose() { add_task(async function flush_on_tabclose() {
let tab = await createTabWithStorageData(["http://example.com"]); let tab = await createTabWithStorageData(["http://example.com/"]);
let browser = tab.linkedBrowser; let browser = tab.linkedBrowser;
await modifySessionStorage(browser, { test: "on-tab-close" }); await modifySessionStorage(browser, { test: "on-tab-close" });
@ -33,7 +33,7 @@ add_task(async function flush_on_tabclose() {
* duplicating a tab. * duplicating a tab.
*/ */
add_task(async function flush_on_duplicate() { add_task(async function flush_on_duplicate() {
let tab = await createTabWithStorageData(["http://example.com"]); let tab = await createTabWithStorageData(["http://example.com/"]);
let browser = tab.linkedBrowser; let browser = tab.linkedBrowser;
await modifySessionStorage(browser, { test: "on-duplicate" }); await modifySessionStorage(browser, { test: "on-duplicate" });
@ -61,7 +61,7 @@ add_task(async function flush_on_duplicate() {
*/ */
add_task(async function flush_on_windowclose() { add_task(async function flush_on_windowclose() {
let win = await promiseNewWindow(); let win = await promiseNewWindow();
let tab = await createTabWithStorageData(["http://example.com"], win); let tab = await createTabWithStorageData(["http://example.com/"], win);
let browser = tab.linkedBrowser; let browser = tab.linkedBrowser;
await modifySessionStorage(browser, { test: "on-window-close" }); await modifySessionStorage(browser, { test: "on-window-close" });
@ -84,7 +84,7 @@ add_task(async function flush_on_windowclose() {
* (via e.g. setTabState) and does not overwrite the new data. * (via e.g. setTabState) and does not overwrite the new data.
*/ */
add_task(async function flush_on_settabstate() { add_task(async function flush_on_settabstate() {
let tab = await createTabWithStorageData(["http://example.com"]); let tab = await createTabWithStorageData(["http://example.com/"]);
let browser = tab.linkedBrowser; let browser = tab.linkedBrowser;
// Flush to make sure our tab state is up-to-date. // Flush to make sure our tab state is up-to-date.
@ -115,7 +115,7 @@ add_task(async function flush_on_settabstate() {
* that hasn't been received by chrome, yet. * that hasn't been received by chrome, yet.
*/ */
add_task(async function flush_on_tabclose_racy() { add_task(async function flush_on_tabclose_racy() {
let tab = await createTabWithStorageData(["http://example.com"]); let tab = await createTabWithStorageData(["http://example.com/"]);
let browser = tab.linkedBrowser; let browser = tab.linkedBrowser;
// Flush to make sure we start with an empty queue. // Flush to make sure we start with an empty queue.
@ -152,7 +152,8 @@ async function createTabWithStorageData(urls, win = window) {
for (let url of urls) { for (let url of urls) {
BrowserTestUtils.loadURI(browser, url); BrowserTestUtils.loadURI(browser, url);
await promiseBrowserLoaded(browser); await promiseBrowserLoaded(browser, true, url);
dump("Loaded url: " + url + "\n");
await modifySessionStorage(browser, { test: INITIAL_VALUE }); await modifySessionStorage(browser, { test: INITIAL_VALUE });
} }

Просмотреть файл

@ -55,11 +55,16 @@ add_task(async function checkCtrlWorks() {
expectedURL, expectedURL,
gBrowser.selectedBrowser gBrowser.selectedBrowser
); );
let promiseStopped = BrowserTestUtils.browserStopped(
gBrowser.selectedBrowser,
undefined,
true
);
gURLBar.focus(); gURLBar.focus();
gURLBar.inputField.value = inputValue.slice(0, -1); gURLBar.inputField.value = inputValue.slice(0, -1);
EventUtils.sendString(inputValue.slice(-1)); EventUtils.sendString(inputValue.slice(-1));
EventUtils.synthesizeKey("KEY_Enter", options); EventUtils.synthesizeKey("KEY_Enter", options);
await promiseLoad; await Promise.all([promiseLoad, promiseStopped]);
} }
}); });

Просмотреть файл

@ -87,7 +87,7 @@ var waitForLoad = async function(uri) {
}; };
gBrowser.selectedBrowser.webNavigation.loadURI(uri, loadURIOptions); gBrowser.selectedBrowser.webNavigation.loadURI(uri, loadURIOptions);
await BrowserTestUtils.browserStopped(gBrowser); await BrowserTestUtils.browserStopped(gBrowser, uri);
}; };
// Tests referrerInfo when navigating from a page in the remote process to main // Tests referrerInfo when navigating from a page in the remote process to main

Просмотреть файл

@ -32,38 +32,40 @@ function test() {
} }
function doTest(aIsPrivateMode, aWindow, aCallback) { function doTest(aIsPrivateMode, aWindow, aCallback) {
BrowserTestUtils.browserLoaded(aWindow.gBrowser.selectedBrowser).then( BrowserTestUtils.browserLoaded(
() => { aWindow.gBrowser.selectedBrowser,
consoleObserver = { false,
observe(aSubject, aTopic, aData) { testURI
if (aTopic == "console-api-log-event") { ).then(() => {
afterEvents = ConsoleAPIStorage.getEvents(innerID); consoleObserver = {
is( observe(aSubject, aTopic, aData) {
beforeEvents.length == afterEvents.length - 1, if (aTopic == "console-api-log-event") {
storageShouldOccur, afterEvents = ConsoleAPIStorage.getEvents(innerID);
"storage should" + (storageShouldOccur ? "" : " not") + " occur" is(
beforeEvents.length == afterEvents.length - 1,
storageShouldOccur,
"storage should" + (storageShouldOccur ? "" : " not") + " occur"
);
executeSoon(function() {
Services.obs.removeObserver(
consoleObserver,
"console-api-log-event"
); );
aCallback();
});
}
},
};
executeSoon(function() { aWindow.Services.obs.addObserver(
Services.obs.removeObserver( consoleObserver,
consoleObserver, "console-api-log-event"
"console-api-log-event" );
); aWindow.nativeConsole.log(
aCallback(); "foo bar baz (private: " + aIsPrivateMode + ")"
}); );
} });
},
};
aWindow.Services.obs.addObserver(
consoleObserver,
"console-api-log-event"
);
aWindow.nativeConsole.log(
"foo bar baz (private: " + aIsPrivateMode + ")"
);
}
);
// We expect that console API messages are always stored. // We expect that console API messages are always stored.
storageShouldOccur = true; storageShouldOccur = true;