Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/**
* Any copyright is dedicated to the Public Domain.
*/
/**
* This test is mainly to verify UpgradeStorageFrom2_1To2_2 method (removal of
* obsolete origins, deprecated clients and unknown temporary files).
*/
async function testSteps() {
const filePaths = [
// Obsolete origins:
"storage/default/chrome+++content+browser.xul",
"storage/default/moz-safe-about+++home",
// TODO: These three origins don't belong here! They were added one release
// later and the origin parser was fixed to handle these origins one
// release later as well, so users which already upgraded to 2.2 may
// still have issues related to these origins!
"storage/default/about+home+1",
"storage/default/about+home+1+q",
"storage/default/about+reader+url=https%3A%2F%2Fexample.com",
// Deprecated client:
"storage/default/https+++example.com/asmjs",
// Unknown temporary file:
"storage/default/https+++example.com/idb/UUID123.tmp",
];
const packages = [
// Storage used by FF 57-67 (storage version 2.1 with obsolete origins, a
// deprecated client and an unknown temporary file).
"version2_1_profile",
"../defaultStorageDirectory_shared",
];
info("Clearing");
let request = clear();
await requestFinished(request);
info("Verifying storage");
verifyStorage(packages, "beforeInstall");
info("Installing packages");
installPackages(packages);
info("Verifying storage");
verifyStorage(packages, "afterInstall");
info("Checking files and directories before upgrade (storage version 2.1)");
for (const filePath of filePaths) {
let file = getRelativeFile(filePath);
let exists = file.exists();
ok(exists, "File or directory does exist");
}
info("Initializing");
// Initialize to trigger storage upgrade from version 2.1
request = init();
await requestFinished(request);
info("Verifying storage");
verifyStorage(packages, "afterInit");
info("Checking files and directories after upgrade");
for (const filePath of filePaths) {
let file = getRelativeFile(filePath);
let exists = file.exists();
ok(!exists, "File or directory does not exist");
}
}