negative-byteoffset-throws-sab.js (1072B)
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 RangeError if ToInteger(byteOffset) < 0 10 info: | 11 24.2.2.1 DataView (buffer, byteOffset, byteLength ) 12 13 ... 14 4. Let offset be ? ToIndex(byteOffset). 15 ... 16 17 ToIndex ( value ) 18 19 1. If value is undefined, then 20 a. Let index be 0. 21 2. Else, 22 a. Let integerIndex be ? ToInteger(value). 23 b. If integerIndex < 0, throw a RangeError exception. 24 ... 25 features: [SharedArrayBuffer] 26 ---*/ 27 28 var buffer = new SharedArrayBuffer(2); 29 30 assert.throws(RangeError, function() { 31 new DataView(buffer, -1); 32 }, "new DataView(buffer, -1);"); 33 34 assert.throws(RangeError, function() { 35 new DataView(buffer, -Infinity); 36 }, "new DataView(buffer, -Infinity);"); 37 38 reportCompare(0, 0);