2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
7 * This test is mainly to verify clearing by origin prefix.
10 async
function testSteps() {
12 "clearStoragesForOriginPrefix_profile",
13 "defaultStorageDirectory_shared",
18 origin
: "http://example.com",
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
) {
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
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");