1
0
Fork 0
firefox/docshell/test/browser/browser_replace_state_during_navigation.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

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]);
});
});