tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_replace_state_during_navigation.js (1167B)


      1 "use strict";
      2 
      3 const TEST_URI =
      4  getRootDirectory(gTestPath).replace(
      5    "chrome://mochitests/content",
      6    "https://example.com"
      7  ) + "dummy_page.html";
      8 const TEST_URI_2 =
      9  getRootDirectory(gTestPath).replace(
     10    "chrome://mochitests/content",
     11    "https://example.com"
     12  ) + "file_replace_state_during_navigation.html";
     13 
     14 add_setup(async function () {
     15  await SpecialPowers.pushPrefEnv({
     16    set: [
     17      ["test.wait300msAfterTabSwitch", true],
     18      ["browser.navigation.requireUserInteraction", true],
     19    ],
     20  });
     21 });
     22 
     23 add_task(async () => {
     24  await BrowserTestUtils.withNewTab(TEST_URI, async browser => {
     25    // Add user interaction to the first page.
     26    await BrowserTestUtils.synthesizeMouseAtCenter("body", {}, browser);
     27 
     28    // Follow link to the next page.
     29    await followLink(TEST_URI_2);
     30 
     31    // Navigate, causing a hashchange event to fire and call history.replaceState
     32    let loaded = BrowserTestUtils.waitForLocationChange(
     33      gBrowser,
     34      TEST_URI_2 + "#1"
     35    );
     36    await BrowserTestUtils.synthesizeMouseAtCenter("#link", {}, browser);
     37    await loaded;
     38 
     39    await assertMenulist([TEST_URI_2 + "#1", TEST_URI_2, TEST_URI]);
     40  });
     41 });