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

Quelle  browser_bug1791083.js   Sprache: JAVA

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


const URL =
  "data:text/html," +
  "" +
  "" +
  "http://www.example.com'>Click Me" +
  "";

function isAnchorHovered(win) {
  return SpecialPowers.spawn(
    win.gBrowser.selectedBrowser,
    [],
    async function () {
      const a = content.document.querySelector("a");
      return a.matches(":hover");
    }
  );
}

add_task(async function test() {
  let newWin = await BrowserTestUtils.openNewBrowserWindow();

  // This bug is only reproducible if the cursor is out of the viewport, so
  // we resize the window to ensure the cursor is out of the viewport.

  // SynthesizeMouse isn't sufficient because it only synthesizes
  // mouse events without actually moving the cursor permanently to a
  // new location.
  newWin.resizeTo(50, 50);

  BrowserTestUtils.startLoadingURIString(newWin.gBrowser.selectedBrowser, URL);
  await BrowserTestUtils.browserLoaded(newWin.gBrowser.selectedBrowser);

  await SpecialPowers.spawn(
    newWin.gBrowser.selectedBrowser,
    [],
    async function () {
      const a = content.document.querySelector("a");
      await EventUtils.synthesizeMouseAtCenter(
        a,
        { type: "mousemove" },
        content
      );
    }
  );

  // We've hovered the anchor element.
  let anchorHovered = await isAnchorHovered(newWin);
  ok(anchorHovered, "Anchor should be hovered");

  let locationChange = BrowserTestUtils.waitForLocationChange(newWin.gBrowser);

  // Click the anchor to navigate away
  await SpecialPowers.spawn(
    newWin.gBrowser.selectedBrowser,
    [],
    async function () {
      const a = content.document.querySelector("a");
      await EventUtils.synthesizeMouseAtCenter(
        a,
        { type: "mousedown" },
        content
      );
      await EventUtils.synthesizeMouseAtCenter(a, { type: "mouseup" }, content);
    }
  );
  await locationChange;

  // Navigate back to the previous page which has the anchor
  locationChange = BrowserTestUtils.waitForLocationChange(newWin.gBrowser);
  newWin.gBrowser.selectedBrowser.goBack();
  await locationChange;

  // Hover state should be cleared upon page caching.
  anchorHovered = await isAnchorHovered(newWin);
  ok(!anchorHovered, "Anchor should not be hovered");

  BrowserTestUtils.closeWindow(newWin);
});

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

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