2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
6 async
function testSteps() {
7 const principal
= getPrincipal("http://localhost");
9 const resultBeforeInstall
= 0;
10 const resultAfterInstall
= 0;
11 const resultAfterInitializeStorage
= 0;
12 const resultAfterInitializeTemporaryStorage
= 98304;
14 function verifyResult(result
, expectedResult
) {
15 Assert
.strictEqual(result
, expectedResult
, "Cached usage equals");
20 let request
= clear();
21 await
requestFinished(request
);
23 info("Getting cached origin usage");
25 request
= getCachedOriginUsage(principal
);
26 let result
= await
requestFinished(request
);
28 info("Verifying result");
30 verifyResult(result
, resultBeforeInstall
);
35 await
requestFinished(request
);
37 info("Installing package");
39 // The profile contains IndexedDB databases placed across the repositories.
40 // The file make_getUsageForPrincipal.js was run locally, specifically it was
41 // temporarily enabled in xpcshell.ini and then executed:
42 // mach test --interactive dom/quota/test/xpcshell/make_getCachedUsageForPrincipal.js
43 installPackage("getCachedUsageForPrincipal_profile");
45 info("Getting cached origin usage");
47 request
= getCachedOriginUsage(principal
);
48 result
= await
requestFinished(request
);
50 info("Verifying result");
52 verifyResult(result
, resultAfterInstall
);
54 info("Initializing storage");
57 await
requestFinished(request
);
59 info("Getting cached origin usage");
61 request
= getCachedOriginUsage(principal
);
62 result
= await
requestFinished(request
);
64 info("Verifying result");
66 verifyResult(result
, resultAfterInitializeStorage
);
68 info("Initializing temporary storage");
70 request
= initTemporaryStorage();
71 await
requestFinished(request
);
73 info("Getting cached origin usage");
75 request
= getCachedOriginUsage(principal
);
76 result
= await
requestFinished(request
);
78 info("Verifying result");
80 verifyResult(result
, resultAfterInitializeTemporaryStorage
);