ladybird/Userland/Libraries/LibJS/Tests/builtins/ArrayBuffer/ArrayBuffer.js
Timothy Flynn 706a20c4d4 LibJS: Disallow creating ArrayBuffers larger than 2^53 - 1
This is a normative change in the ECMA-262 spec. See:
25f9744
2023-05-26 05:23:55 +02:00

19 lines
680 B
JavaScript

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