immutable-dataview-byteoffset.js (1095B)
1 // |jit-test| --enable-arraybuffer-immutable; skip-if: !Array.prototype.transferToImmutable 2 3 function testImmutableArrayBufferDefaultLength() { 4 for (let i = 0; i < 4; ++i) { 5 let ab = new ArrayBuffer(i).transferToImmutable(); 6 let ta = new DataView(ab); 7 for (let j = 0; j < 100; ++j) { 8 assertEq(ta.byteOffset, 0); 9 } 10 } 11 } 12 for (let i = 0; i < 2; ++i) testImmutableArrayBufferDefaultLength(); 13 14 function testImmutableArrayBufferDefaultLengthNonZeroOffset() { 15 for (let i = 1; i < 4 + 1; ++i) { 16 let ab = new ArrayBuffer(i).transferToImmutable(); 17 let ta = new DataView(ab, 1); 18 for (let j = 0; j < 100; ++j) { 19 assertEq(ta.byteOffset, 1); 20 } 21 } 22 } 23 for (let i = 0; i < 2; ++i) testImmutableArrayBufferDefaultLengthNonZeroOffset(); 24 25 function testImmutableArrayBufferNonZeroOffset() { 26 for (let i = 2; i < 4 + 2; ++i) { 27 let ab = new ArrayBuffer(i).transferToImmutable(); 28 let ta = new DataView(ab, 1, 1); 29 for (let j = 0; j < 100; ++j) { 30 assertEq(ta.byteOffset, 1); 31 } 32 } 33 } 34 for (let i = 0; i < 2; ++i) testImmutableArrayBufferNonZeroOffset