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

Quelle  browser_bug537013.js   Sprache: JAVA

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


/* Tests for bug 537013 to ensure proper tab-sequestration of find bar. */

var tabs = [];
var texts = [
  "This side up.",
  "The world is coming to an end. Please log off.",
  "Klein bottle for sale. Inquire within.",
  "To err is human; to forgive is not company policy.",
];

var HasFindClipboard = Services.clipboard.isClipboardTypeSupported(
  Services.clipboard.kFindClipboard
);

function addTabWithText(aText) {
  let newTab = BrowserTestUtils.addTab(
    gBrowser,
    "data:text/html;charset=utf-8,

" + aText + "

"

  );
  tabs.push(newTab);
  gBrowser.selectedTab = newTab;
}

function setFindString(aString) {
  gFindBar.open();
  gFindBar._findField.focus();
  gFindBar._findField.select();
  EventUtils.sendString(aString);
  is(gFindBar._findField.value, aString, "Set the field correctly!");
}

var newWindow;

function test() {
  waitForExplicitFinish();
  registerCleanupFunction(function () {
    while (tabs.length) {
      gBrowser.removeTab(tabs.pop());
    }
  });
  texts.forEach(aText => addTabWithText(aText));

  // Set up the first tab
  gBrowser.selectedTab = tabs[0];

  gBrowser.getFindBar().then(initialTest);
}

function initialTest() {
  setFindString(texts[0]);
  // Turn on highlight for testing bug 891638
  gFindBar.getElement("highlight").checked = true;

  // Make sure the second tab is correct, then set it up
  gBrowser.selectedTab = tabs[1];
  gBrowser.selectedTab.addEventListener("TabFindInitialized", continueTests1, {
    once: true,
  });
  // Initialize the findbar
  gBrowser.getFindBar();
}
function continueTests1() {
  ok(true"'TabFindInitialized' event properly dispatched!");
  ok(gFindBar.hidden, "Second tab doesn't show find bar!");
  gFindBar.open();
  is(
    gFindBar._findField.value,
    texts[0],
    "Second tab kept old find value for new initialization!"
  );
  setFindString(texts[1]);

  // Confirm the first tab is still correct, ensure re-hiding works as expected
  gBrowser.selectedTab = tabs[0];
  ok(!gFindBar.hidden, "First tab shows find bar!");
  // When the Find Clipboard is supported, this test not relevant.
  if (!HasFindClipboard) {
    is(gFindBar._findField.value, texts[0], "First tab persists find value!");
  }
  ok(
    gFindBar.getElement("highlight").checked,
    "Highlight button state persists!"
  );

  // While we're here, let's test bug 253793
  gBrowser.reload();
  gBrowser.addEventListener("DOMContentLoaded", continueTests2, true);
}

function continueTests2() {
  gBrowser.removeEventListener("DOMContentLoaded", continueTests2, true);
  ok(gFindBar.getElement("highlight").checked, "Highlight never reset!");
  continueTests3();
}

function continueTests3() {
  ok(gFindBar.getElement("highlight").checked, "Highlight button reset!");
  gFindBar.close();
  ok(gFindBar.hidden, "First tab doesn't show find bar!");
  gBrowser.selectedTab = tabs[1];
  ok(!gFindBar.hidden, "Second tab shows find bar!");
  // Test for bug 892384
  is(
    gFindBar._findField.getAttribute("focused"),
    "true",
    "Open findbar refocused on tab change!"
  );
  gURLBar.focus();
  gBrowser.selectedTab = tabs[0];
  ok(gFindBar.hidden, "First tab doesn't show find bar!");

  // Set up a third tab, no tests here
  gBrowser.selectedTab = tabs[2];
  gBrowser.selectedTab.addEventListener("TabFindInitialized", continueTests4, {
    once: true,
  });
  gBrowser.getFindBar();
}

function continueTests4() {
  setFindString(texts[2]);

  // Now we jump to the second, then first, and then fourth
  gBrowser.selectedTab = tabs[1];
  // Test for bug 892384
  ok(
    !gFindBar._findField.hasAttribute("focused"),
    "Open findbar not refocused on tab change!"
  );
  gBrowser.selectedTab = tabs[0];
  gBrowser.selectedTab = tabs[3];
  ok(gFindBar.hidden, "Fourth tab doesn't show find bar!");
  is(gFindBar, gBrowser.getFindBar(), "Find bar is right one!");
  gFindBar.open();
  // Disabled the following assertion due to intermittent failure on OSX 10.6 Debug.
  if (!HasFindClipboard) {
    is(
      gFindBar._findField.value,
      texts[1],
      "Fourth tab has second tab's find value!"
    );
  }

  newWindow = gBrowser.replaceTabWithWindow(tabs.pop());
  whenDelayedStartupFinished(newWindow, checkNewWindow);
}

// Test that findbar gets restored when a tab is moved to a new window.
function checkNewWindow() {
  ok(!newWindow.gFindBar.hidden, "New window shows find bar!");
  // Disabled the following assertion due to intermittent failure on OSX 10.6 Debug.
  if (!HasFindClipboard) {
    is(
      newWindow.gFindBar._findField.value,
      texts[1],
      "New window find bar has correct find value!"
    );
    ok(
      !newWindow.gFindBar.getElement("find-next").disabled,
      "New window findbar has enabled buttons!"
    );
  }
  newWindow.close();
  finish();
}

Messung V0.5
C=80 H=60 G=70

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