tor-browser

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

throws-on-detached.js (842B)


      1 // TypeError is thrown when the underlying ArrayBuffer is detached.
      2 
      3 function testByteOffset() {
      4  var ab = new ArrayBuffer(10);
      5  var dv = new DataView(ab, 4, 0);
      6 
      7  var q = 0;
      8  var error;
      9  try {
     10    for (var i = 0; i <= 200; ++i) {
     11      if (i === 200) {
     12        detachArrayBuffer(ab);
     13      }
     14      q += dv.byteOffset;
     15    }
     16  } catch (e) {
     17    error = e;
     18  }
     19  assertEq(q, 4 * 200);
     20  assertEq(error instanceof TypeError, true);
     21 }
     22 testByteOffset();
     23 
     24 function testByteLength() {
     25  var ab = new ArrayBuffer(10);
     26  var dv = new DataView(ab, 4, 6);
     27 
     28  var q = 0;
     29  var error;
     30  try {
     31    for (var i = 0; i <= 200; ++i) {
     32      if (i === 200) {
     33        detachArrayBuffer(ab);
     34      }
     35      q += dv.byteLength;
     36    }
     37  } catch (e) {
     38    error = e;
     39  }
     40  assertEq(q, 6 * 200);
     41  assertEq(error instanceof TypeError, true);
     42 }
     43 testByteLength();