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

Quelle  browser_UITour4.js   Sprache: JAVA

 
"use strict";

var gTestTab;
var gContentAPI;

add_task(setup_UITourTest);

add_UITour_task(
  async function test_highligh_between_buttonOnAppMenu_and_buttonOnPageActionPanel() {
    let highlight = document.getElementById("UITourHighlight");
    is_element_hidden(highlight, "Highlight should initially be hidden");

    let appMenu = window.PanelUI.panel;
    let pageActionPanel = BrowserPageActions.panelNode;

    // Test highlighting the addons button on the app menu
    let appMenuShownPromise = promisePanelElementShown(window, appMenu);
    let highlightVisiblePromise = elementVisiblePromise(
      highlight,
      "Should show highlight"
    );
    gContentAPI.showHighlight("addons");
    await appMenuShownPromise;
    await highlightVisiblePromise;
    is(
      appMenu.state,
      "open",
      "Should open the app menu to highlight the addons button"
    );
    is(pageActionPanel.state, "closed""Shouldn't open the page action panel");
    is(
      getShowHighlightTargetName(),
      "addons",
      "Should highlight the addons button on the app menu"
    );
  }
);

add_UITour_task(
  async function test_showInfo_between_buttonOnPageActionPanel_and_buttonOnAppMenu() {
    let tooltip = document.getElementById("UITourTooltip");
    is_element_hidden(tooltip, "Tooltip should initially be hidden");

    let appMenu = window.PanelUI.panel;
    let pageActionPanel = BrowserPageActions.panelNode;
    let tooltipVisiblePromise = elementVisiblePromise(
      tooltip,
      "Should show info tooltip"
    );

    let appMenuShownPromise = promisePanelElementShown(window, appMenu);
    await showInfoPromise("addons""title""text");
    await appMenuShownPromise;
    await tooltipVisiblePromise;
    is(
      appMenu.state,
      "open",
      "Should open the app menu to show info on the addons button"
    );
    is(
      pageActionPanel.state,
      "closed",
      "Should close the page action panel after no more show info for the copyURL button"
    );
    is(
      getShowInfoTargetName(),
      "addons",
      "Should show info tooltip on the addons button on the app menu"
    );

    // Test hiding info tooltip
    let appMenuHiddenPromise = promisePanelElementHidden(window, appMenu);
    let tooltipHiddenPromise = elementHiddenPromise(
      tooltip,
      "Should hide info"
    );
    gContentAPI.hideInfo();
    await appMenuHiddenPromise;
    await tooltipHiddenPromise;
    is(appMenu.state, "closed""Should close the app menu after hiding info");
    is(
      pageActionPanel.state,
      "closed",
      "Shouldn't open the page action panel after hiding info"
    );
  }
);

add_UITour_task(
  async function test_highlight_buttonOnPageActionPanel_and_showInfo_buttonOnAppMenu() {
    let highlight = document.getElementById("UITourHighlight");
    is_element_hidden(highlight, "Highlight should initially be hidden");
    let tooltip = document.getElementById("UITourTooltip");
    is_element_hidden(tooltip, "Tooltip should initially be hidden");

    let appMenu = window.PanelUI.panel;
    let pageActionPanel = BrowserPageActions.panelNode;
    let pageActionPanelHiddenPromise = Promise.resolve();

    // Test showing info tooltip on the privateWindow button on the app menu
    let appMenuShownPromise = promisePanelElementShown(window, appMenu);
    let tooltipVisiblePromise = elementVisiblePromise(
      tooltip,
      "Should show info tooltip"
    );
    let highlightHiddenPromise = elementHiddenPromise(
      highlight,
      "Should hide highlight"
    );
    await showInfoPromise("privateWindow""title""text");
    await appMenuShownPromise;
    await tooltipVisiblePromise;
    await pageActionPanelHiddenPromise;
    await highlightHiddenPromise;
    is(
      appMenu.state,
      "open",
      "Should open the app menu to show info on the privateWindow button"
    );
    is(pageActionPanel.state, "closed""Should close the page action panel");
    is(
      getShowInfoTargetName(),
      "privateWindow",
      "Should show info tooltip on the privateWindow button on the app menu"
    );

    // Test hiding info tooltip
    let appMenuHiddenPromise = promisePanelElementHidden(window, appMenu);
    let tooltipHiddenPromise = elementHiddenPromise(
      tooltip,
      "Should hide info"
    );
    gContentAPI.hideInfo();
    await appMenuHiddenPromise;
    await tooltipHiddenPromise;
    is(
      appMenu.state,
      "closed",
      "Should close the app menu after hiding info tooltip"
    );
  }
);

add_UITour_task(
  async function test_showInfo_buttonOnAppMenu_and_highlight_buttonOnPageActionPanel() {
    let highlight = document.getElementById("UITourHighlight");
    is_element_hidden(highlight, "Highlight should initially be hidden");
    let tooltip = document.getElementById("UITourTooltip");
    is_element_hidden(tooltip, "Tooltip should initially be hidden");

    let appMenu = window.PanelUI.panel;
    let pageActionPanel = BrowserPageActions.panelNode;

    // Test showing info tooltip on the privateWindow button on the app menu
    let appMenuShownPromise = promisePanelElementShown(window, appMenu);
    let tooltipVisiblePromise = elementVisiblePromise(
      tooltip,
      "Should show info tooltip"
    );
    await showInfoPromise("privateWindow""title""text");
    await appMenuShownPromise;
    await tooltipVisiblePromise;
    is(
      appMenu.state,
      "open",
      "Should open the app menu to show info on the privateWindow button"
    );
    is(pageActionPanel.state, "closed""Shouldn't open the page action panel");
    is(
      getShowInfoTargetName(),
      "privateWindow",
      "Should show info tooltip on the privateWindow button on the app menu"
    );
  }
);

add_UITour_task(
  async function test_show_pageActionPanel_and_showInfo_buttonOnAppMenu() {
    let tooltip = document.getElementById("UITourTooltip");
    is_element_hidden(tooltip, "Tooltip should initially be hidden");

    let appMenu = window.PanelUI.panel;
    let pageActionPanel = BrowserPageActions.panelNode;

    // Test showing info tooltip on the privateWindow button on the app menu
    let appMenuShownPromise = promisePanelElementShown(window, appMenu);
    let tooltipVisiblePromise = elementVisiblePromise(
      tooltip,
      "Should show info tooltip"
    );
    await showInfoPromise("privateWindow""title""text");
    await appMenuShownPromise;
    await tooltipVisiblePromise;
    is(
      appMenu.state,
      "open",
      "Should open the app menu to show info on the privateWindow button"
    );
    is(
      pageActionPanel.state,
      "closed",
      "Check state of the page action panel if it was opened explictly by api user."
    );
    is(
      getShowInfoTargetName(),
      "privateWindow",
      "Should show info tooltip on the privateWindow button on the app menu"
    );

    is_element_visible(tooltip, "Tooltip should still be visible");
    is(appMenu.state, "open""Shouldn't close the app menu");
    is(
      pageActionPanel.state,
      "closed",
      "Should close the page action panel after hideMenu"
    );
    is(
      getShowInfoTargetName(),
      "privateWindow",
      "Should still show info tooltip on the privateWindow button on the app menu"
    );

    // Test hiding info tooltip
    let appMenuHiddenPromise = promisePanelElementHidden(window, appMenu);
    let tooltipHiddenPromise = elementHiddenPromise(
      tooltip,
      "Should hide info"
    );
    gContentAPI.hideInfo();
    await appMenuHiddenPromise;
    await tooltipHiddenPromise;
    is(appMenu.state, "closed""Should close the app menu after hideInfo");
    is(pageActionPanel.state, "closed""Shouldn't open the page action panel");
  }
);

Messung V0.5
C=93 H=88 G=90

¤ Dauer der Verarbeitung: 0.17 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.