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 }