Bug 1770047 [wpt PR 34117] - [Clipboard API] Clipboard Web Custom Formats implementat...
[gecko.git] / testing / web-platform / tests / native-io / read_write_async_bufferlength.tentative.https.any.js
blob7424d24e5231fc5bafc3413cf68232773acfc883
1 // META: title=NativeIO API: Read/Write correctly handle small buffer lengths.
2 // META: global=window,worker
3 // META: script=resources/support.js
5 'use strict';
8 promise_test(async testCase => {
9   await reserveAndCleanupCapacity(testCase);
10   const file = await createFile(testCase, 'test_file');
12   for (let bufferLength = 0; bufferLength < 4; bufferLength++) {
13     let writeBuffer = new Uint8Array(bufferLength);
14     let writeResult = await file.write(writeBuffer, 0);
15     assert_equals(
16         writeResult.writtenBytes, bufferLength,
17         'NativeIOFile.write() should return success if the buffer size is ' +
18             `${bufferLength}.`);
19   }
20 }, 'NativeIOFile.write succeeds when writing a small number of bytes');
22 promise_test(async testCase => {
23   await reserveAndCleanupCapacity(testCase);
24   const file = await createFile(testCase, 'test_file');
26   for (let bufferLength = 0; bufferLength < 4; bufferLength++) {
27     const readBuffer = new Uint8Array(bufferLength);
28     const readResult = await file.read(readBuffer, 0);
29     assert_equals(
30         readResult.readBytes, bufferLength,
31         'NativeIOFile.read() should return success if the buffer size is ' +
32             `${bufferLength}.`);
33   }
34 }, 'NativeIOFile.read succeeds when reading a small number of bytes');