mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 09:57:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
128
dom/indexedDB/test/unit/test_getUsage.js
Normal file
128
dom/indexedDB/test/unit/test_getUsage.js
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
/**
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/
|
||||
*/
|
||||
|
||||
var testGenerator = testSteps();
|
||||
|
||||
function testSteps()
|
||||
{
|
||||
const origins = [
|
||||
{
|
||||
origin: "http://example.com",
|
||||
persisted: false,
|
||||
usage: 49152
|
||||
},
|
||||
|
||||
{
|
||||
origin: "http://localhost",
|
||||
persisted: false,
|
||||
usage: 147456
|
||||
},
|
||||
|
||||
{
|
||||
origin: "http://www.mozilla.org",
|
||||
persisted: false,
|
||||
usage: 98304
|
||||
}
|
||||
];
|
||||
|
||||
const allOrigins = [
|
||||
{
|
||||
origin: "chrome",
|
||||
persisted: false,
|
||||
usage: 147456
|
||||
},
|
||||
|
||||
{
|
||||
origin: "http://example.com",
|
||||
persisted: false,
|
||||
usage: 49152
|
||||
},
|
||||
|
||||
{
|
||||
origin: "http://localhost",
|
||||
persisted: false,
|
||||
usage: 147456
|
||||
},
|
||||
|
||||
{
|
||||
origin: "http://www.mozilla.org",
|
||||
persisted: false,
|
||||
usage: 98304
|
||||
}
|
||||
];
|
||||
|
||||
function verifyResult(result, origins) {
|
||||
ok(result instanceof Array, "Got an array object");
|
||||
ok(result.length == origins.length, "Correct number of elements");
|
||||
|
||||
info("Sorting elements");
|
||||
|
||||
result.sort(function(a, b) {
|
||||
let originA = a.origin
|
||||
let originB = b.origin
|
||||
|
||||
if (originA < originB) {
|
||||
return -1;
|
||||
}
|
||||
if (originA > originB) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
|
||||
info("Verifying elements");
|
||||
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
let a = result[i];
|
||||
let b = origins[i];
|
||||
ok(a.origin == b.origin, "Origin equals");
|
||||
ok(a.persisted == b.persisted, "Persisted equals");
|
||||
ok(a.usage == b.usage, "Usage equals");
|
||||
}
|
||||
}
|
||||
|
||||
info("Clearing");
|
||||
|
||||
clearAllDatabases(continueToNextStepSync);
|
||||
yield undefined;
|
||||
|
||||
info("Getting usage");
|
||||
|
||||
getUsage(grabResultAndContinueHandler, /* getAll */ true);
|
||||
let result = yield undefined;
|
||||
|
||||
info("Verifying result");
|
||||
|
||||
verifyResult(result, []);
|
||||
|
||||
info("Installing profile");
|
||||
|
||||
// The profile contains IndexedDB databases placed across the repositories.
|
||||
// The file create_db.js in the package was run locally, specifically it was
|
||||
// temporarily added to xpcshell.ini and then executed:
|
||||
// mach xpcshell-test --interactive dom/indexedDB/test/unit/create_db.js
|
||||
installPackagedProfile("getUsage_profile");
|
||||
|
||||
info("Getting usage");
|
||||
|
||||
getUsage(grabResultAndContinueHandler, /* getAll */ false);
|
||||
result = yield undefined;
|
||||
|
||||
info("Verifying result");
|
||||
|
||||
verifyResult(result, origins);
|
||||
|
||||
info("Getting usage");
|
||||
|
||||
getUsage(grabResultAndContinueHandler, /* getAll */ true);
|
||||
result = yield undefined;
|
||||
|
||||
info("Verifying result");
|
||||
|
||||
verifyResult(result, allOrigins);
|
||||
|
||||
finishTest();
|
||||
yield undefined;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue