1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:28:12 +00:00

LibJS: Add initial implementation for SharedArrayBuffer

None of the actual sharing is implemented yet, but this is enough for
most basic functionality.

Diff Tests:
    +260     -262    +2 💀
This commit is contained in:
Shannon Booth 2023-07-01 16:07:26 +12:00 committed by Linus Groh
parent 1c1aa2c0d0
commit 3781948f0c
13 changed files with 347 additions and 0 deletions

View file

@ -0,0 +1,19 @@
test("basic functionality", () => {
expect(SharedArrayBuffer).toHaveLength(1);
expect(SharedArrayBuffer.name).toBe("SharedArrayBuffer");
expect(SharedArrayBuffer.prototype.constructor).toBe(SharedArrayBuffer);
expect(new SharedArrayBuffer()).toBeInstanceOf(SharedArrayBuffer);
expect(typeof new SharedArrayBuffer()).toBe("object");
});
test("SharedArrayBuffer constructor must be invoked with 'new'", () => {
expect(() => {
SharedArrayBuffer();
}).toThrowWithMessage(TypeError, "SharedArrayBuffer constructor must be called with 'new'");
});
test("SharedArrayBuffer size limit", () => {
expect(() => {
new SharedArrayBuffer(2 ** 53);
}).toThrowWithMessage(RangeError, "Invalid shared array buffer length");
});