tor-browser

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

buffer-does-not-have-arraybuffer-data-throws-sab.js (1280B)


      1 // |reftest| skip-if(!this.hasOwnProperty('SharedArrayBuffer')) -- SharedArrayBuffer is not enabled unconditionally
      2 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      3 // Copyright (C) 2017 Mozilla Corporation. All rights reserved.
      4 // This code is governed by the BSD license found in the LICENSE file.
      5 
      6 /*---
      7 esid: sec-dataview-buffer-byteoffset-bytelength
      8 description: >
      9  Throws a TypeError if buffer does not have [[ArrayBufferData]]
     10 info: |
     11  24.2.2.1 DataView (buffer, byteOffset, byteLength )
     12 
     13  ...
     14  2. If Type(buffer) is not Object, throw a TypeError exception.
     15  3. If buffer does not have an [[ArrayBufferData]] internal slot, throw a
     16  TypeError exception.
     17  ...
     18 features: [SharedArrayBuffer]
     19 ---*/
     20 
     21 var obj = {
     22  valueOf: function() {
     23    throw new Test262Error("buffer should be verified before byteOffset");
     24  }
     25 };
     26 
     27 assert.throws(TypeError, function() {
     28  new DataView({}, obj);
     29 }, "{}");
     30 
     31 assert.throws(TypeError, function() {
     32  new DataView([], obj);
     33 }, "[]");
     34 
     35 var ta = new Int8Array();
     36 assert.throws(TypeError, function() {
     37  new DataView(ta, obj);
     38 }, "typedArray instance");
     39 
     40 var other = new DataView(new SharedArrayBuffer(1), 0);
     41 assert.throws(TypeError, function() {
     42  new DataView(other, obj);
     43 }, "dataView instance");
     44 
     45 reportCompare(0, 0);