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


Quelle  browser_506482.js   Sprache: JAVA

 
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* eslint-disable mozilla/no-arbitrary-setTimeout */

function test() {
  /** Test for Bug 506482 **/

  // test setup
  waitForExplicitFinish();

  // read the sessionstore.js mtime (picked from browser_248970_a.js)
  let profilePath = Services.dirsvc.get("ProfD", Ci.nsIFile);
  function getSessionstoreFile() {
    let sessionStoreJS = profilePath.clone();
    sessionStoreJS.append("sessionstore.jsonlz4");
    return sessionStoreJS;
  }
  function getSessionstorejsModificationTime() {
    let file = getSessionstoreFile();
    if (file.exists()) {
      return file.lastModifiedTime;
    }
    return -1;
  }

  // delete existing sessionstore.js, to make sure we're not reading
  // the mtime of an old one initially.
  let sessionStoreJS = getSessionstoreFile();
  if (sessionStoreJS.exists()) {
    sessionStoreJS.remove(false);
  }

  // test content URL
  const TEST_URL =
    "data:text/html;charset=utf-8," +
    "

top

"
;

  // preferences that we use
  const PREF_INTERVAL = "browser.sessionstore.interval";

  // make sure sessionstore.js is saved ASAP on all events
  Services.prefs.setIntPref(PREF_INTERVAL, 0);

  // get the initial sessionstore.js mtime (-1 if it doesn't exist yet)
  let mtime0 = getSessionstorejsModificationTime();

  // create and select a first tab
  let tab = BrowserTestUtils.addTab(gBrowser, TEST_URL);
  promiseBrowserLoaded(tab.linkedBrowser).then(() => {
    // step1: the above has triggered some saveStateDelayed(), sleep until
    // it's done, and get the initial sessionstore.js mtime
    setTimeout(function step1() {
      let mtime1 = getSessionstorejsModificationTime();
      isnot(mtime1, mtime0, "initial sessionstore.js update");

      // step2: test sessionstore.js is not updated on tab selection
      // or content scrolling
      gBrowser.selectedTab = tab;
      tab.linkedBrowser.contentWindow.scrollTo(1100, 1200);
      setTimeout(function step2() {
        let mtime2 = getSessionstorejsModificationTime();
        is(
          mtime2,
          mtime1,
          "tab selection and scrolling: sessionstore.js not updated"
        );

        // ok, done, cleanup and finish
        if (Services.prefs.prefHasUserValue(PREF_INTERVAL)) {
          Services.prefs.clearUserPref(PREF_INTERVAL);
        }
        gBrowser.removeTab(tab);
        finish();
      }, 3500); // end of sleep after tab selection and scrolling
    }, 3500); // end of sleep after initial saveStateDelayed()
  });
}

Messung V0.5
C=89 H=100 G=94

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






                                                                                                                                                                                                                                                                                                                                                                                                     


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