summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fs/resources/sync-access-handle-test.js
blob: 46c5d3072ca38013afc06af0d1667b248a96011b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 sync_access_handle_test(test, description) {
  promise_test(async t => {
    // To be extra resilient against bad tests, cleanup before every test.
    await cleanupSandboxedFileSystem();
    const dir = await navigator.storage.getDirectory();
    const fileHandle = await dir.getFileHandle('OPFS.test', {create: true});
    const syncHandle = await fileHandle.createSyncAccessHandle();
    test(t, syncHandle);
    syncHandle.close();
  }, description);
}