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 }