Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellverzeichnis  bug298622_window.xhtml   Interaktion und
Portierbarkeitunbekannt

 
Columbo aufrufen.xhtml zum Wurzelverzeichnis wechselnUnknown {[0] [0] [0]}Datei anzeigen

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>

<window id="298622Test"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        width="600"
        height="600"
        onload="setTimeout(runTest, 0);"
        title="bug 298622 test">

  <script type="application/javascript" src= "chrome://mochikit/content/chrome-harness.js" />
  <script type="application/javascript" src= "docshell_helpers.js" />
  <script type="application/javascript"><![CDATA[
    // Global variable that holds a reference to the find bar.
    var gFindBar;

    ////
    // Test  for bug 298622:
    // Find should work correctly on a page loaded from the
    // bfcache.
    //
    async function runTest()
    {
      // Make sure bfcache is on.
      enableBFCache(true);

      // Load a test page which contains some text to be found.
      await promisePageNavigation({
        uri: "data:text/html,<html><head><title>test1</title></head>" +
             "<body>find this!</body></html>",
      });

      // Load a second, dummy page, verifying that the original
      // page gets stored in the bfcache.
      await promisePageNavigation({
        uri: getHttpUrl("generic.html"),
        eventsToListenFor: ["pageshow", "pagehide"],
        expectedEvents: [ { type: "pagehide",
                            title: "test1",
                            persisted: true },
                          { type: "pageshow",
                            title: "generic page" } ],
      });

      // Make sure we unsuppress painting before continuing
      await new Promise(resolve => {
        SimpleTest.executeSoon(resolve);
      });

      // Search for some text that's on the second page (but not on
      // the first page), and verify that it can be found.
      gFindBar = document.getElementById("FindToolbar");
      document.getElementById("cmd_find").doCommand();
      ok(!gFindBar.hidden, "failed to open findbar");
      gFindBar._findField.value = "A generic page";
      gFindBar._find();
      await new Promise(resolve => {
        SimpleTest.executeSoon(resolve);
      });

      // Make sure Find bar's internal status is not 'notfound'
      isnot(gFindBar._findField.getAttribute("status"), "notfound",
         "Findfield status attribute should not have been 'notfound'" +
         " after Find");

      // Make sure the key events above have time to be processed
      // before continuing
      await promiseTrue(() =>
        SpecialPowers.spawn(document.getElementById("content"), [], function() {
          return content.document.getSelection().toString().toLowerCase() == "a generic page";
        }), 20
      );

      is(gFindBar._findField.value, "A generic page",
        "expected text not present in find input field");
      is(await SpecialPowers.spawn(document.getElementById("content"), [], async function() {
          return content.document.getSelection().toString().toLowerCase();
         }),
         "a generic page",
         "find failed on second page loaded");

      // Go back to the original page and verify it's loaded from the
      // bfcache.
      await promisePageNavigation({
        back: true,
        eventsToListenFor: ["pageshow"],
        expectedEvents: [ { type: "pageshow",
                            title: "test1",
                            persisted: true } ],
      });

      // Search for some text that's on the original page (but not
      // the dummy page loaded above), and verify that it can
      // be found.
      gFindBar = document.getElementById("FindToolbar");
      document.getElementById("cmd_find").doCommand();
      ok(!gFindBar.hidden, "failed to open findbar");
      gFindBar._findField.value = "find this";
      gFindBar._find();
      await new Promise(resolve => {
        SimpleTest.executeSoon(resolve);
      });

      // Make sure Find bar's internal status is not 'notfound'
      isnot(gFindBar._findField.getAttribute("status"), "notfound",
         "Findfield status attribute should not have been 'notfound'" +
         " after Find");

      // Make sure the key events above have time to be processed
      // before continuing
      await promiseTrue(() =>
        SpecialPowers.spawn(document.getElementById("content"), [], function() {
          return content.document.getSelection().toString().toLowerCase() == "find this";
        }), 20
      );

      is(await SpecialPowers.spawn(document.getElementById("content"), [], async function() {
          return content.document.getSelection().toString().toLowerCase();
         }),
         "find this",
         "find failed on page loaded from bfcache");

      // Tell the framework the test is finished.
      finish();
    }

  ]]></script>

  <commandset>
    <command id="cmd_find"
     oncommand="document.getElementById('FindToolbar').onFindCommand();"/>
  </commandset>
  <browser type="content" primary="true" flex="1" id="content" messagemanagergroup="test" remote="true" maychangeremoteness="true" />
  <findbar id="FindToolbar" browserid="content"/>
</window>

[ Original von:0.46Diese Quellcodebibliothek enthält Beispiele in vielen Programmiersprachen. Man kann per Verzeichnistruktur darin navigieren. Der Code wird farblich markiert angezeigt.  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge