
This is a normative change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/25f9744
19 lines
680 B
JavaScript
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");
|
|
});
|