38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
const TEST_URI =
|
|
getRootDirectory(gTestPath).replace(
|
|
"chrome://mochitests/content",
|
|
"https://example.com"
|
|
) + "dummy_page.html";
|
|
const TEST_URI_2 =
|
|
getRootDirectory(gTestPath).replace(
|
|
"chrome://mochitests/content",
|
|
"https://example.com"
|
|
) + "file_replace_state_during_navigation.html";
|
|
|
|
add_setup(async function () {
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["browser.navigation.requireUserInteraction", true]],
|
|
});
|
|
});
|
|
|
|
add_task(async () => {
|
|
await BrowserTestUtils.withNewTab(TEST_URI, async browser => {
|
|
// Add user interaction to the first page.
|
|
await BrowserTestUtils.synthesizeMouseAtCenter("body", {}, browser);
|
|
|
|
// Follow link to the next page.
|
|
await followLink(TEST_URI_2);
|
|
|
|
// Navigate, causing a hashchange event to fire and call history.replaceState
|
|
let loaded = BrowserTestUtils.waitForLocationChange(
|
|
gBrowser,
|
|
TEST_URI_2 + "#1"
|
|
);
|
|
await BrowserTestUtils.synthesizeMouseAtCenter("#link", {}, browser);
|
|
await loaded;
|
|
|
|
await assertMenulist([TEST_URI_2 + "#1", TEST_URI_2, TEST_URI]);
|
|
});
|
|
});
|