mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 06:08:24 +02:00
Differential Revision: https://phabricator.services.mozilla.com/D16820 --HG-- extra : moz-landing-system : lando
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
/**
|
|
* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
function getTestingFiles()
|
|
{
|
|
const filenameBase = "unexpectedDirectory";
|
|
let baseDir = getRelativeFile("storage/permanent/chrome/idb");
|
|
|
|
let unexpectedDirWithoutSuffix = baseDir.clone();
|
|
unexpectedDirWithoutSuffix.append(filenameBase);
|
|
|
|
let unexpectedDir = baseDir.clone();
|
|
unexpectedDir.append(filenameBase + ".files");
|
|
|
|
return {unexpectedDirWithoutSuffix, unexpectedDir};
|
|
}
|
|
|
|
function createTestingEnvironment()
|
|
{
|
|
let testingFiles = getTestingFiles();
|
|
testingFiles.unexpectedDir.create(Ci.nsIFile.DIRECTORY_TYPE,
|
|
parseInt("0755", 8));
|
|
|
|
testingFiles.unexpectedDirWithoutSuffix.create(Ci.nsIFile.DIRECTORY_TYPE,
|
|
parseInt("0755", 8));
|
|
}
|
|
|
|
/**
|
|
* This test verifies unexpected directories won't block idb's initialization.
|
|
*/
|
|
|
|
async function testSteps()
|
|
{
|
|
info("Verifying open shouldn't be blocked by unexpected files");
|
|
|
|
createTestingEnvironment();
|
|
|
|
let request =
|
|
indexedDB.open(this.window ? window.location.pathname : "Splendid Test", 1);
|
|
await expectingUpgrade(request);
|
|
|
|
// Waiting for a success event for indexedDB.open()
|
|
let event = await expectingSuccess(request);
|
|
|
|
let testingFiles = getTestingFiles();
|
|
ok(!testingFiles.unexpectedDir.exists(),
|
|
"The unexpected directory doesn't exist");
|
|
ok(!testingFiles.unexpectedDirWithoutSuffix.exists(),
|
|
"The unexpected directory without the suffix doesn't exist");
|
|
|
|
let db = event.target.result;
|
|
db.close();
|
|
}
|