blob: 812514e47829d835c7e0f23f73f562506fbddafb [file] [edit]
<!DOCTYPE HTML><!-- webkit-test-runner [ jscOptions=--useResizableArrayBuffer=true,--useSharedArrayBuffer=true ] -->
<html>
<head>
<title>Resizable ArrayBuffers serialization</title>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Resizable ArrayBuffers should be serializable OOB explicit length");
var arrayBuffer = new ArrayBuffer(36, { maxByteLength: 128 });
var view = new DataView(arrayBuffer, 4, 4);
shouldBeTrue(`arrayBuffer.resizable`);
shouldBe(`arrayBuffer.byteLength`, `36`);
shouldBe(`arrayBuffer.maxByteLength`, `128`);
shouldBe(`view.byteLength`, `4`);
shouldBe(`view.byteOffset`, `4`);
arrayBuffer.resize(0);
shouldThrow(`structuredClone(view)`);
shouldBeTrue(`arrayBuffer.resizable`);
shouldBe(`arrayBuffer.byteLength`, `0`);
shouldBe(`arrayBuffer.maxByteLength`, `128`);
shouldThrow(`view.byteLength`);
shouldThrow(`view.byteOffset`);
arrayBuffer.resize(36);
shouldBeTrue(`arrayBuffer.resizable`);
shouldBe(`arrayBuffer.byteLength`, `36`);
shouldBe(`arrayBuffer.maxByteLength`, `128`);
shouldBe(`view.byteLength`, `4`);
shouldBe(`view.byteOffset`, `4`);
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>