diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-11-03 10:24:12 +0000 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-11-03 13:38:54 +0000 |
commit | bca3835607b4edebf24ecadf054591f094c583fc (patch) | |
tree | 3618eddae48150c0e301eb2dd6ca73d1f98e5875 /tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js | |
parent | 4ad08fff04d974855845bb1bafe10920bfd27a97 (diff) | |
download | servo-bca3835607b4edebf24ecadf054591f094c583fc.tar.gz servo-bca3835607b4edebf24ecadf054591f094c583fc.zip |
Update web-platform-tests to revision 424249088dd679888e07bd315dd8ebc98ccf323a
Diffstat (limited to 'tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js')
-rw-r--r-- | tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js b/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js index 88e5593ebad..6b7d9f9a317 100644 --- a/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js +++ b/tests/wpt/web-platform-tests/native-file-system/script-tests/FileSystemFileHandle-getFile.js @@ -6,3 +6,35 @@ directory_test(async (t, root) => { 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(t, '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 handle.createWriter({keepExistingData: false}); + await writer.write(0, 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'); |