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

Quelle  test_padding_error_handle.js   Sprache: JAVA

 
/**
 *  This test is mainly to verify cache actions work as usual even there exists
 *  an unexpected padding file.
 */


function getTempPaddingFilePath() {
  let cacheDir = getCacheDir();
  let temporaryPaddingFile = cacheDir.clone();
  temporaryPaddingFile.append(".padding-tmp");
  return temporaryPaddingFile;
}

function createTempPaddingFile() {
  let temporaryPaddingFile = getTempPaddingFilePath();
  temporaryPaddingFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("0644", 8));

  ok(
    temporaryPaddingFile.exists(),
    "Temporary padding file does be created by test"
  );
}

add_task(async function testSteps() {
  create_test_profile("schema_25_profile.zip");
  let cache = await caches.open("test");

  // Step 1: Verify cache.match won't fail when there is a temporary padding
  // file
  createTempPaddingFile();

  let response = await cache.match("https://www.mozilla.org");
  ok(!!response, "Upgrade from 25 to 26 do succeed");

  // Note: Only cache write actions(e.g. cache.put/add/addAll/delete) will
  // remove unexpected temporary padding file when writting an opaque response
  // into the file-system. Cache read actions(e.g. cache.keys/match) won't.
  let temporaryPaddingFile = getTempPaddingFilePath();
  ok(
    temporaryPaddingFile.exists(),
    "Temporary padding file doesn't be removed by cache.match"
  );

  // Step 2: Verify cache.put won't fail when there is a temporary padding
  // file
  await cache.put("https://foo.com", response);
  ok(
    !temporaryPaddingFile.exists(),
    "Temporary padding file does be removed by cache.put"
  );

  // Step 3: Verify cache.keys won't fail when there is a temporary padding
  // file
  createTempPaddingFile();

  let cacheEntries = await cache.keys("https://foo.com");
  Assert.strictEqual(cacheEntries.length, 1, "Cache.put does succeed");

  ok(
    temporaryPaddingFile.exists(),
    "Temporary padding file doesn't be removed by cache.keys"
  );

  // Step 4: Verify cache.delete won't fail when there is a temporary padding
  // file
  await cache.delete("https://foo.com");
  ok(
    !temporaryPaddingFile.exists(),
    "Temporary padding file does be removed by cache.delete"
  );

  await caches.delete("test");
});

Messung V0.5
C=86 H=97 G=91

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