Files
sousa-gecko/testing/web-platform/tests/fs/script-tests/FileSystemFileHandle-getFile.js
T
moz-wptsync-bot 08fe8d3c6c Bug 1920795 [wpt PR 48327] - FSA: Remove all file entry removing cleanup in directory tests, a=testonly
Automatic update from web-platform-tests
FSA: Remove all file entry removing cleanup in directory tests

Now that directory tests have a cleanup function builtin to clear up any
files left behind, remove all the previous cleanup code that added this.

Mostly a mechanical change of removing the test argument from these
functions:
- createEmptyFile
- createDirectory
- createFileWithContents
- create_file_system_handles

Verified that all these functions appear in directory_test.

Bug: 346991169
Change-Id: I751cd6c3eb5292ac791de872a89abe195490c7e7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5878964
Reviewed-by: Christine Hollingsworth <christinesm@chromium.org>
Commit-Queue: Nathan Memmott <memmott@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1359545}

--

wpt-commits: 4a381c7dbdf744ae0ef9d7e87aeb26eedd68af84
wpt-pr: 48327
2024-09-27 08:23:18 +00:00

54 lines
1.8 KiB
JavaScript

'use strict';
directory_test(async (t, root) => {
const fileContents = 'awesome content';
let handle =
await createFileWithContents('foo.txt', fileContents, /*parent=*/ root);
let file = await handle.getFile();
let slice = file.slice(1, file.size);
let actualContents = await slice.text();
assert_equals(actualContents, fileContents.slice(1, fileContents.length));
}, 'getFile() provides a file that can be sliced');
directory_test(async (t, root) => {
const handle = await createEmptyFile('mtime.txt', root);
let file = await handle.getFile();
const first_mtime = file.lastModified;
// We wait for 2s here to ensure that the files do not have the
// same modification time. Some filesystems have low resolutions
// for modification timestamps.
let timeout = new Promise(resolve => {
t.step_timeout(resolve, 2000);
});
await timeout;
const writer = await cleanup_writable(t, await handle.createWritable({keepExistingData: false}));
await writer.write(new Blob(['foo']));
await writer.close();
file = await handle.getFile();
const second_mtime = file.lastModified;
// We wait for 5 ms here to ensure that `lastModified`
// from the File objects is stable between getFile invocations.
timeout = new Promise(resolve => {
t.step_timeout(resolve, 5);
});
await timeout;
let fileReplica = await handle.getFile();
assert_equals(second_mtime, fileReplica.lastModified);
assert_less_than(first_mtime, second_mtime);
}, 'getFile() returns last modified time');
directory_test(async (t, root) => {
const fileName = "fileAttributesTest.txt";
const fileHandle = await createEmptyFile(fileName, root);
assert_equals(fileHandle.name, fileName);
const file = await fileHandle.getFile();
assert_equals(file.name, fileName);
}, 'getFile() returns expected name');