summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js')
-rw-r--r--testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js b/testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js
new file mode 100644
index 0000000000..9c93212f49
--- /dev/null
+++ b/testing/web-platform/tests/fs/resources/sandboxed-fs-test-helpers.js
@@ -0,0 +1,24 @@
+// This file defines a directory_test() function that can be used to define
+// tests that require a FileSystemDirectoryHandle. The implementation of that
+// function in this file will return an empty directory in the sandboxed file
+// system.
+//
+// Another implementation of this function exists in
+// file-system-access/local-fs-test-helpers.js, where that version uses the
+// local file system instead.
+
+async function cleanupSandboxedFileSystem() {
+ const dir = await navigator.storage.getDirectory();
+ for await (let entry of dir.values())
+ await dir.removeEntry(entry.name, {recursive: entry.kind === 'directory'});
+}
+
+function directory_test(func, description) {
+ promise_test(async t => {
+ // To be extra resilient against bad tests, cleanup before every test.
+ await cleanupSandboxedFileSystem();
+
+ const dir = await navigator.storage.getDirectory();
+ await func(t, dir);
+ }, description);
+}