tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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