Bug 1945643 - Update to mozilla-nimbus-schemas 2025.1.1 r=chumphreys
[gecko.git] / dom / quota / test / xpcshell / test_clearStoragesForOriginPrefix.js
blobf36750b0ec3ff6495090b10a1a3e1089e0c8d5ab
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 */
6 /**
7 * This test is mainly to verify clearing by origin prefix.
8 */
10 async function testSteps() {
11 const packages = [
12 "clearStoragesForOriginPrefix_profile",
13 "defaultStorageDirectory_shared",
16 const testData = [
18 origin: "http://example.com",
19 persistence: null,
20 key: "afterClearByOriginPrefix",
23 origin: "http://example.com",
24 persistence: "default",
25 key: "afterClearByOriginPrefix_default",
28 origin: "http://example.com",
29 persistence: "persistent",
30 key: "afterClearByOriginPrefix_persistent",
33 origin: "http://example.com",
34 persistence: "temporary",
35 key: "afterClearByOriginPrefix_temporary",
39 for (const item of testData) {
40 info("Clearing");
42 let request = clear();
43 await requestFinished(request);
45 info("Verifying storage");
47 verifyStorage(packages, "beforeInstall");
49 info("Installing package");
51 installPackages(packages);
53 info("Verifying storage");
55 verifyStorage(packages, "afterInstall");
57 // TODO: Remove this block once origin clearing is able to ignore unknown
58 // directories.
59 getRelativeFile("storage/default/invalid+++example.com").remove(false);
60 getRelativeFile("storage/permanent/invalid+++example.com").remove(false);
61 getRelativeFile("storage/temporary/invalid+++example.com").remove(false);
63 info("Clearing by origin prefix");
65 request = clearOriginsByPrefix(getPrincipal(item.origin), item.persistence);
66 await requestFinished(request);
68 info("Verifying storage");
70 verifyStorage(packages, item.key, "afterClearByOriginPrefix");