Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- Manifest: dom/quota/test/xpcshell/xpcshell.toml
/**
* Any copyright is dedicated to the Public Domain.
*/
/**
* This test is mainly to verify that temporary storage initialization should
* succeed while there is an origin directory that has an inconsistency between
* its directory name and the origin name in its directory metadata file.
*/
async function testSteps() {
const packages = ["originMismatch_profile", "defaultStorageDirectory_shared"];
info("Clearing");
let request = clear();
await requestFinished(request);
info("Verifying storage");
verifyStorage(packages, "beforeInstall");
info("Installing package");
// The profile contains:
// - storage.sqlite (v2_3)
// (A) Verify we are okay while the directory that we want to restore has
// already existed.
// - storage/default/http+++www.example.com/.metadata-v2
// - storage/default/http+++www.example.com/cache/.padding
// - storage/default/http+++www.example.com./
// (B) Verify restoring origin directory succeed.
// - storage/default/http+++www.example.org/.metadata-v2
// - storage/default/http+++www.example.org/cache/.padding
//
// ToDo: Test case like:
// - storage/default/http+++www.example.org(1)/.metadata-v2
// - storage/default/http+++www.example.org/
//
// - storage/default/http+++www.foo.com/.metadata-v2
installPackages(packages);
info("Verifying storage");
verifyStorage(packages, "afterInstall");
info("Initializing storage");
request = init();
await requestFinished(request);
// ToDo: Remove this code once we support unknown directories in respository
let invalidDir = getRelativeFile("storage/default/invalid+++example.com");
invalidDir.remove(true);
invalidDir = getRelativeFile("storage/temporary/invalid+++example.com");
invalidDir.remove(true);
info("Initializing temporary storage");
request = initTemporaryStorage();
await requestFinished(request);
info("Verifying storage");
verifyStorage(packages, "afterInitTemporaryStorage");
request = clear();
await requestFinished(request);
}