blob: 9a18b171b5d850953b5ecf10872b16c97a0aece1 [file] [log] [blame]
importScripts("/resources/testharness.js");
importScripts('resources/sync-access-handle-test.js');
'use strict';
sync_access_handle_test(async (testCase, handle) => {
assert_equals(await handle.getSize(), 0);
const bufferSize = 4;
const writeBuffer = new Uint8Array(bufferSize);
writeBuffer.set([96, 97, 98, 99]);
handle.write(writeBuffer, {at: 0});
assert_equals(await handle.getSize(), bufferSize);
let offset = 3;
handle.write(writeBuffer, {at: offset});
assert_equals(await handle.getSize(), bufferSize + offset);
offset = 10;
handle.write(writeBuffer, {at: offset});
assert_equals(await handle.getSize(), bufferSize + offset);
}, 'test SyncAccessHandle.getSize after SyncAccessHandle.write');
sync_access_handle_test(async (testCase, handle) => {
const getSizePromise = handle.getSize();
await promise_rejects_dom(testCase, 'InvalidStateError', handle.getSize());
assert_equals(await getSizePromise, 0);
}, 'test createSyncAccessHandle.getSize with pending operation');
done();