Bug 1945643 - Update to mozilla-nimbus-schemas 2025.1.1 r=chumphreys
[gecko.git] / dom / quota / test / xpcshell / test_unknownFiles.js
blobe75b021c6a2cc2558f39259cf708b7f20adff3d7
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 that init, initTemporaryStorage,
8 * getUsageForPrincipal and clearStoragesForPrincipal are able to ignore
9 * unknown files and directories in the storage/default directory and its
10 * subdirectories.
12 async function testSteps() {
13 const principal = getPrincipal("http://example.com");
15 async function testFunctionality(testFunction) {
16 const modes = [
18 initializedStorage: false,
19 initializedPersistentStorage: false,
20 initializedTemporaryStorage: false,
23 initializedStorage: true,
24 initializedPersistentStorage: false,
25 initializedTemporaryStorage: false,
28 initializedStorage: true,
29 initializedPersistentStorage: false,
30 initializedTemporaryStorage: true,
34 for (const mode of modes) {
35 info("Clearing");
37 let request = clear();
38 await requestFinished(request);
40 info("Installing package");
42 // The profile contains unknown files and unknown directories placed
43 // across the repositories, origin directories and client directories.
44 // The file make_unknownFiles.js was run locally, specifically it was
45 // temporarily enabled in xpcshell.ini and then executed:
46 // mach test --interactive dom/quota/test/xpcshell/make_unknownFiles.js
47 installPackage("unknownFiles_profile");
49 if (mode.initializedStorage) {
50 info("Initializing storage");
52 request = init();
53 await requestFinished(request);
56 if (mode.initializedTemporaryStorage) {
57 info("Initializing temporary storage");
59 request = initTemporaryStorage();
60 await requestFinished(request);
63 info("Verifying initialization status");
65 await verifyInitializationStatus(
66 mode.initializedStorage,
67 mode.initializedPersistentStorage,
68 mode.initializedTemporaryStorage
71 await testFunction(
72 mode.initializedStorage,
73 mode.initializedTemporaryStorage
76 info("Clearing");
78 request = clear();
79 await requestFinished(request);
83 // init and initTemporaryStorage functionality is tested in the
84 // testFunctionality function as part of the multi mode testing
86 info("Testing getUsageForPrincipal functionality");
88 await testFunctionality(async function () {
89 info("Getting origin usage");
91 request = getOriginUsage(principal);
92 await requestFinished(request);
94 ok(
95 request.result instanceof Ci.nsIQuotaOriginUsageResult,
96 "The result is nsIQuotaOriginUsageResult instance"
98 is(request.result.usage, 115025, "Correct total usage");
99 is(request.result.fileUsage, 200, "Correct file usage");
102 info("Testing clearStoragesForPrincipal functionality");
104 await testFunctionality(async function () {
105 info("Clearing origin");
107 request = clearOrigin(principal, "default");
108 await requestFinished(request);