tor-browser

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

test_initTemporaryStorage.js (1426B)


      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 initTemporaryStorage() does call
      8 * QuotaManager::EnsureTemporaryStorageIsInitializedInternal() 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/default/https+++foo.example.com";
     15  const metadataFileName = ".metadata-v2";
     16 
     17  info("Setting prefs");
     18 
     19  Services.prefs.setBoolPref("dom.quotaManager.loadQuotaFromCache", false);
     20 
     21  info("Initializing");
     22 
     23  let request = init();
     24  await requestFinished(request);
     25 
     26  info("Verifying initialization status");
     27 
     28  await verifyInitializationStatus(true, false, false);
     29 
     30  info("Creating an empty directory");
     31 
     32  let originDir = getRelativeFile(originDirPath);
     33  originDir.create(Ci.nsIFile.DIRECTORY_TYPE, parseInt("0755", 8));
     34 
     35  info("Initializing the temporary storage");
     36 
     37  request = initTemporaryStorage();
     38  await requestFinished(request);
     39 
     40  info(
     41    "Verifying directory metadata was restored after calling " +
     42      "initTemporaryStorage()"
     43  );
     44 
     45  let metadataFile = originDir.clone();
     46  metadataFile.append(metadataFileName);
     47 
     48  ok(metadataFile.exists(), "Directory metadata file does exist");
     49 
     50  info("Verifying initialization status");
     51 
     52  await verifyInitializationStatus(true, false, true);
     53 }