diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/fs/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.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/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js')
-rw-r--r-- | testing/web-platform/tests/fs/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fs/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js b/testing/web-platform/tests/fs/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js new file mode 100644 index 0000000000..921e0066c9 --- /dev/null +++ b/testing/web-platform/tests/fs/FileSystemSyncAccessHandle-truncate.https.tentative.worker.js @@ -0,0 +1,40 @@ +importScripts("/resources/testharness.js"); +importScripts('resources/sync-access-handle-test.js'); + +'use strict'; + +sync_access_handle_test((t, handle) => { + // Without this assertion, the test passes even if truncate is not defined. + assert_implements(handle.truncate, + "SyncAccessHandle.truncate is not implemented."); + + handle.truncate(4); + assert_equals(handle.getSize(), 4); + handle.truncate(2); + assert_equals(handle.getSize(), 2); + handle.truncate(7); + assert_equals(handle.getSize(), 7); + handle.truncate(0); + assert_equals(handle.getSize(), 0); + assert_throws_js(TypeError, () => handle.truncate(-4)); +}, 'test SyncAccessHandle.truncate with different sizes'); + +sync_access_handle_test((t, handle) => { + const writeBuffer = new Uint8Array(4); + writeBuffer.set([96, 97, 98, 99]); + handle.write(writeBuffer, {at: 0}); + + handle.truncate(2); + let readBuffer = new Uint8Array(6); + assert_equals(2, handle.read(readBuffer, {at: 0})); + let expected = new Uint8Array(6); + expected.set([96, 97, 0, 0, 0, 0]); + assert_array_equals(expected, readBuffer); + + // Resize the file to 6, expect that everything beyond the old size is '0'. + handle.truncate(6); + assert_equals(6, handle.read(readBuffer, {at: 0})); + assert_array_equals(expected, readBuffer); +}, 'test SyncAccessHandle.truncate after SyncAccessHandle.write'); + +done(); |