Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/dom/base/test/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  browser_newtab_session_history.js

  Sprache: JAVA
 

/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */


const { TabStateFlusher } = ChromeUtils.importESModule(
  "resource:///modules/sessionstore/TabStateFlusher.sys.mjs"
);

add_task(async function test_blank() {
  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:blank" },
    async function (browser) {
      BrowserTestUtils.startLoadingURIString(browser, "https://example.com/");
      await BrowserTestUtils.browserLoaded(browser);
      ok(!gBrowser.canGoBack, "about:blank wasn't added to session history");
    }
  );
});

add_task(async function test_newtab() {
  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:blank" },
    async function (browser) {
      // Can't load it directly because that'll use a preloaded tab if present.
      let stopped = BrowserTestUtils.browserStopped(browser, "about:newtab");
      BrowserTestUtils.startLoadingURIString(browser, "about:newtab");
      await stopped;

      stopped = BrowserTestUtils.browserStopped(
        browser,
        "https://example.com/"
      );
      BrowserTestUtils.startLoadingURIString(browser, "https://example.com/");
      await stopped;

      // This makes sure the parent process has the most up-to-date notion
      // of the tab's session history.
      await TabStateFlusher.flush(browser);

      let tab = gBrowser.getTabForBrowser(browser);
      let tabState = JSON.parse(SessionStore.getTabState(tab));
      Assert.equal(
        tabState.entries.length,
        2,
        "We should have 2 entries in the session history."
      );

      Assert.equal(
        tabState.entries[0].url,
        "about:newtab",
        "about:newtab should be the first entry."
      );

      Assert.ok(gBrowser.canGoBack, "Should be able to browse back.");
    }
  );
});

// Test for bug 1676492, when newtab shows a blank page, don't add it to SH
add_task(async function test_blank_newtab() {
  await SpecialPowers.pushPrefEnv({
    set: [["browser.newtabpage.enabled"false]],
  });

  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:newtab" },
    async function (browser) {
      const loaded = BrowserTestUtils.browserLoaded(browser);
      BrowserTestUtils.startLoadingURIString(browser, "https://example.com/");
      await loaded;

      await TabStateFlusher.flush(browser);

      const tab = gBrowser.getTabForBrowser(browser);
      const tabState = JSON.parse(SessionStore.getTabState(tab));

      Assert.equal(tabState.entries.length, 1"Should only have one entry");
      Assert.equal(
        tabState.entries[0].url,
        "https://example.com/",
        "Should have example.com SH entry"
      );
      Assert.ok(!gBrowser.canGoBack, "Should not be able to go back");
    }
  );

  await SpecialPowers.popPrefEnv();
});

Messung V0.5 in Prozent
C=88 H=100 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.