Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Errors

"use strict";
const TEST_URI =
getRootDirectory(gTestPath).replace(
) + "dummy_page.html";
const TEST_URI_2 =
getRootDirectory(gTestPath).replace(
) + "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
await BrowserTestUtils.synthesizeMouseAtCenter("#link", {}, browser);
await assertMenulist([
TEST_URI_2 + "#1",
TEST_URI_2 + "#inject",
TEST_URI_2,
TEST_URI,
]);
});
});