summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/test/unit/test_unexpectedDirectory.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /dom/indexedDB/test/unit/test_unexpectedDirectory.js
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/indexedDB/test/unit/test_unexpectedDirectory.js')
-rw-r--r--dom/indexedDB/test/unit/test_unexpectedDirectory.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/dom/indexedDB/test/unit/test_unexpectedDirectory.js b/dom/indexedDB/test/unit/test_unexpectedDirectory.js
new file mode 100644
index 0000000000..ac07df3216
--- /dev/null
+++ b/dom/indexedDB/test/unit/test_unexpectedDirectory.js
@@ -0,0 +1,62 @@
+/**
+ * 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();
+}