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

Quelle  browser_bug1170531.js   Sprache: JAVA

 
/* eslint-disable mozilla/no-arbitrary-setTimeout */
// Test for bug 1170531
// https://bugzilla.mozilla.org/show_bug.cgi?id=1170531

add_task(async function () {
  // Get a bunch of DOM nodes
  let editMenu = document.getElementById("edit-menu");
  let menuPopup = editMenu.menupopup;

  let closeMenu = function (aCallback) {
    if (Services.appinfo.OS == "Darwin") {
      executeSoon(aCallback);
      return;
    }

    menuPopup.addEventListener(
      "popuphidden",
      function () {
        executeSoon(aCallback);
      },
      { once: true }
    );

    executeSoon(function () {
      editMenu.open = false;
    });
  };

  let openMenu = function (aCallback) {
    if (Services.appinfo.OS == "Darwin") {
      goUpdateGlobalEditMenuItems();
      // On OSX, we have a native menu, so it has to be updated. In single process browsers,
      // this happens synchronously, but in e10s, we have to wait for the main thread
      // to deal with it for us. 1 second should be plenty of time.
      setTimeout(aCallback, 1000);
      return;
    }

    menuPopup.addEventListener(
      "popupshown",
      function () {
        executeSoon(aCallback);
      },
      { once: true }
    );

    executeSoon(function () {
      editMenu.open = true;
    });
  };

  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:blank" },
    async function (browser) {
      let menu_cut_disabled, menu_copy_disabled;

      BrowserTestUtils.startLoadingURIString(
        browser,
        "data:text/html,
hello!
"

      );
      await BrowserTestUtils.browserLoaded(browser);
      browser.focus();
      await new Promise(resolve => waitForFocus(resolve, window));
      await new Promise(resolve =>
        window.requestAnimationFrame(() => executeSoon(resolve))
      );
      await new Promise(openMenu);
      menu_cut_disabled =
        menuPopup.querySelector("#menu_cut").getAttribute("disabled") == "true";
      is(menu_cut_disabled, false"menu_cut should be enabled");
      menu_copy_disabled =
        menuPopup.querySelector("#menu_copy").getAttribute("disabled") ==
        "true";
      is(menu_copy_disabled, false"menu_copy should be enabled");
      await new Promise(closeMenu);

      // When there is no text selected in the contentEditable, we expect the Cut
      // and Copy commands to be disabled.
      BrowserTestUtils.startLoadingURIString(
        browser,
        "data:text/html,
hello!
"

      );
      await BrowserTestUtils.browserLoaded(browser);
      browser.focus();
      await new Promise(resolve => waitForFocus(resolve, window));
      await new Promise(resolve =>
        window.requestAnimationFrame(() => executeSoon(resolve))
      );
      await new Promise(openMenu);
      menu_cut_disabled =
        menuPopup.querySelector("#menu_cut").getAttribute("disabled") == "true";
      is(menu_cut_disabled, true"menu_cut should be disabled");
      menu_copy_disabled =
        menuPopup.querySelector("#menu_copy").getAttribute("disabled") ==
        "true";
      is(menu_copy_disabled, true"menu_copy should be disabled");
      await new Promise(closeMenu);

      // When the text of the contentEditable is selected, the Cut and Copy commands
      // should be enabled.
      BrowserTestUtils.startLoadingURIString(
        browser,
        "data:text/html,
hello!
"

      );
      await BrowserTestUtils.browserLoaded(browser);
      browser.focus();
      await new Promise(resolve => waitForFocus(resolve, window));
      await new Promise(resolve =>
        window.requestAnimationFrame(() => executeSoon(resolve))
      );
      await new Promise(openMenu);
      menu_cut_disabled =
        menuPopup.querySelector("#menu_cut").getAttribute("disabled") == "true";
      is(menu_cut_disabled, false"menu_cut should be enabled");
      menu_copy_disabled =
        menuPopup.querySelector("#menu_copy").getAttribute("disabled") ==
        "true";
      is(menu_copy_disabled, false"menu_copy should be enabled");
      await new Promise(closeMenu);

      BrowserTestUtils.startLoadingURIString(browser, "about:preferences");
      await BrowserTestUtils.browserLoaded(browser);
      browser.focus();
      await new Promise(resolve => waitForFocus(resolve, window));
      await new Promise(resolve =>
        window.requestAnimationFrame(() => executeSoon(resolve))
      );
      await new Promise(openMenu);
      menu_cut_disabled =
        menuPopup.querySelector("#menu_cut").getAttribute("disabled") == "true";
      is(menu_cut_disabled, true"menu_cut should be disabled");
      menu_copy_disabled =
        menuPopup.querySelector("#menu_copy").getAttribute("disabled") ==
        "true";
      is(menu_copy_disabled, true"menu_copy should be disabled");
      await new Promise(closeMenu);
    }
  );
});

Messung V0.5
C=93 H=91 G=91

¤ 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.