Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/browser/components/urlbar/tests/browser/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  browser_stop.js   Sprache: JAVA

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


/**
 * This tests ensures the urlbar reflects the correct value if a page load is
 * stopped immediately after loading.
 */


"use strict";

const goodURL = "http://mochi.test:8888/";
const badURL = "http://mochi.test:8888/whatever.html";

add_task(async function () {
  gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, goodURL);
  await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
  is(
    gURLBar.value,
    BrowserUIUtils.trimURL(goodURL),
    "location bar reflects loaded page"
  );

  await typeAndSubmitAndStop(badURL);
  is(
    gURLBar.value,
    BrowserUIUtils.trimURL(goodURL),
    "location bar reflects loaded page after stop()"
  );
  gBrowser.removeCurrentTab();

  gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
  is(gURLBar.value, """location bar is empty");

  await typeAndSubmitAndStop(badURL);
  is(
    gURLBar.value,
    BrowserUIUtils.trimURL(badURL),
    "location bar reflects stopped page in an empty tab"
  );
  gBrowser.removeCurrentTab();
});

async function typeAndSubmitAndStop(url) {
  await UrlbarTestUtils.promiseAutocompleteResultPopup({
    window,
    value: url,
    fireInputEvent: true,
  });

  let docLoadPromise = BrowserTestUtils.waitForDocLoadAndStopIt(
    url,
    gBrowser.selectedBrowser
  );

  // When the load is stopped, tabbrowser calls gURLBar.setURI and then calls
  // onStateChange on its progress listeners.  So to properly wait until the
  // urlbar value has been updated, add our own progress listener here.
  let progressPromise = new Promise(resolve => {
    let listener = {
      onStateChange(browser, webProgress, request, stateFlags) {
        if (
          webProgress.isTopLevel &&
          stateFlags & Ci.nsIWebProgressListener.STATE_STOP
        ) {
          gBrowser.removeTabsProgressListener(listener);
          resolve();
        }
      },
    };
    gBrowser.addTabsProgressListener(listener);
  });

  gURLBar.handleCommand();
  await Promise.all([docLoadPromise, progressPromise]);
}

Messung V0.5
C=90 H=98 G=94

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.