summaryrefslogtreecommitdiffstats
path: root/dom/quota/test/xpcshell/test_allowListFiles.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/quota/test/xpcshell/test_allowListFiles.js')
-rw-r--r--dom/quota/test/xpcshell/test_allowListFiles.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/quota/test/xpcshell/test_allowListFiles.js b/dom/quota/test/xpcshell/test_allowListFiles.js
new file mode 100644
index 0000000000..04c64c2ef5
--- /dev/null
+++ b/dom/quota/test/xpcshell/test_allowListFiles.js
@@ -0,0 +1,61 @@
+/**
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+/**
+ * This test is mainly to verify thoes unexpected files are in the allow list of
+ * QuotaManager. They aren't expected in the repository but if there are,
+ * QuotaManager shouldn't fail to initialize an origin and getting usage, though
+ * those files aren't managed by QuotaManager.
+ */
+
+async function testSteps() {
+ const allowListFiles = [
+ ".dot-file",
+ "desktop.ini",
+ "Desktop.ini",
+ "Thumbs.db",
+ "thumbs.db",
+ ];
+
+ for (let allowListFile of allowListFiles) {
+ info("Testing " + allowListFile + " in the repository");
+
+ info("Initializing");
+
+ let request = init();
+ await requestFinished(request);
+
+ info("Creating unknown files");
+
+ for (let dir of ["persistenceType dir", "origin dir"]) {
+ let dirPath =
+ dir == "persistenceType dir"
+ ? "storage/default/"
+ : "storage/default/http+++example.com/";
+ let file = getRelativeFile(dirPath + allowListFile);
+ file.create(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("0644", 8));
+ }
+
+ info("Initializing temporary storage");
+
+ request = initTemporaryStorage();
+ await requestFinished(request);
+
+ info("Resetting");
+
+ request = reset();
+ await requestFinished(request);
+
+ info("Getting usage");
+
+ request = getCurrentUsage(continueToNextStepSync);
+ await requestFinished(request);
+
+ info("Clearing");
+
+ request = clear();
+ await requestFinished(request);
+ }
+}