tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_initializePersistentStorage.js (1344B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 /**
      7 * This test is mainly to verify initializePersistentStorage() does call
      8 * QuotaManager::EnsurePersistentStorageIsInitializedInternal() which does
      9 * various things, for example, it restores the directory metadata if it's
     10 * broken or missing.
     11 */
     12 
     13 async function testSteps() {
     14  const originDirPath = "storage/permanent/https+++foo.example.com";
     15  const metadataFileName = ".metadata-v2";
     16 
     17  info("Initializing");
     18 
     19  let request = init();
     20  await requestFinished(request);
     21 
     22  info("Verifying initialization status");
     23 
     24  await verifyInitializationStatus(true, false, false);
     25 
     26  info("Creating an empty directory");
     27 
     28  let originDir = getRelativeFile(originDirPath);
     29  originDir.create(Ci.nsIFile.DIRECTORY_TYPE, parseInt("0755", 8));
     30 
     31  info("Initializing persistent storage");
     32 
     33  request = initializePersistentStorage();
     34  await requestFinished(request);
     35 
     36  info(
     37    "Verifying directory metadata was restored after calling " +
     38      "initializePersistentStorage()"
     39  );
     40 
     41  let metadataFile = originDir.clone();
     42  metadataFile.append(metadataFileName);
     43 
     44  ok(metadataFile.exists(), "Directory metadata file does exist");
     45 
     46  info("Verifying initialization status");
     47 
     48  await verifyInitializationStatus(true, true, false);
     49 }