mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision 66e7f134c43e83a70edf4028ec4738ddfea28e15
This commit is contained in:
parent
145c3a5502
commit
d23cb97662
97 changed files with 2817 additions and 110 deletions
|
@ -0,0 +1,105 @@
|
|||
// META: title=NativeIO API: close().
|
||||
// META: global=window,worker
|
||||
|
||||
'use strict';
|
||||
|
||||
// Returns a handle to a newly created file that holds some data.
|
||||
//
|
||||
// The file will be closed and deleted when the test ends.
|
||||
async function createFile(testCase, fileName) {
|
||||
const file = await nativeIO.open(fileName);
|
||||
testCase.add_cleanup(async () => {
|
||||
await file.close();
|
||||
await nativeIO.delete('test_file');
|
||||
});
|
||||
|
||||
const writeSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
|
||||
writtenBytes.set([64, 65, 66, 67]);
|
||||
const writeCount = await file.write(writtenBytes, 0);
|
||||
assert_precondition(writeCount == 4);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
promise_test(async testCase => {
|
||||
const file = await createFile(testCase, 'file_name');
|
||||
|
||||
const readSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const readBytes = new Uint8Array(readSharedArrayBuffer);
|
||||
const readSharedArrayBuffer2 = new SharedArrayBuffer(4);
|
||||
const readBytes2 = new Uint8Array(readSharedArrayBuffer2);
|
||||
|
||||
const readPromise = file.read(readBytes, 0);
|
||||
await promise_rejects_dom(testCase, 'InvalidStateError',
|
||||
file.read(readBytes2, 4));
|
||||
|
||||
assert_equals(await readPromise, 4);
|
||||
assert_array_equals(readBytes, [64, 65, 66, 67]);
|
||||
assert_array_equals(readBytes2, [0, 0, 0, 0]);
|
||||
}, 'read() rejects wrile read() is resolving');
|
||||
|
||||
promise_test(async testCase => {
|
||||
const file = await createFile(testCase, 'file_name');
|
||||
|
||||
const writeSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
|
||||
writtenBytes.set([96, 97, 98, 99]);
|
||||
const readSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const readBytes = new Uint8Array(readSharedArrayBuffer);
|
||||
|
||||
const writePromise = file.write(writtenBytes, 0);
|
||||
await promise_rejects_dom(testCase, 'InvalidStateError',
|
||||
file.read(readBytes, 4));
|
||||
|
||||
assert_equals(await writePromise, 4);
|
||||
assert_array_equals(readBytes, [0, 0, 0, 0]);
|
||||
}, 'read() rejects wrile write() is resolving');
|
||||
|
||||
promise_test(async testCase => {
|
||||
const file = await createFile(testCase, 'file_name');
|
||||
|
||||
const readSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const readBytes = new Uint8Array(readSharedArrayBuffer);
|
||||
const writeSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
|
||||
writtenBytes.set([96, 97, 98, 99]);
|
||||
|
||||
const readPromise = file.read(readBytes, 0);
|
||||
await promise_rejects_dom(testCase, 'InvalidStateError',
|
||||
file.write(writtenBytes, 4));
|
||||
|
||||
assert_equals(await readPromise, 4);
|
||||
assert_array_equals(readBytes, [64, 65, 66, 67]);
|
||||
|
||||
readBytes.fill(0);
|
||||
assert_equals(await file.read(readBytes, 0), 4,
|
||||
'NativeIOFile.read() should not fail after a rejected write');
|
||||
assert_array_equals(readBytes, [64, 65, 66, 67],
|
||||
'The rejected write should not change the file');
|
||||
}, 'write() rejects wrile read() is resolving');
|
||||
|
||||
promise_test(async testCase => {
|
||||
const file = await createFile(testCase, 'file_name');
|
||||
|
||||
const writeSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
|
||||
writtenBytes.set([96, 97, 98, 99]);
|
||||
|
||||
const writeSharedArrayBuffer2 = new SharedArrayBuffer(4);
|
||||
const writtenBytes2 = new Uint8Array(writeSharedArrayBuffer2);
|
||||
writtenBytes2.set([48, 49, 50, 51]);
|
||||
|
||||
const writePromise = file.write(writtenBytes, 0);
|
||||
await promise_rejects_dom(testCase, 'InvalidStateError',
|
||||
file.write(writtenBytes2, 4));
|
||||
|
||||
assert_equals(await writePromise, 4);
|
||||
|
||||
const readSharedArrayBuffer = new SharedArrayBuffer(4);
|
||||
const readBytes = new Uint8Array(readSharedArrayBuffer);
|
||||
assert_equals(await file.read(readBytes, 0), 4,
|
||||
'NativeIOFile.read() should not fail after a rejected write');
|
||||
assert_array_equals(readBytes, writtenBytes,
|
||||
'The rejected write should not change the file');
|
||||
}, 'write() rejects wrile write() is resolving');
|
Loading…
Add table
Add a link
Reference in a new issue