tor-browser

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

negative-bytelength-throws.js (1233B)


      1 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-dataview-buffer-byteoffset-bytelength
      6 description: >
      7  Throws a RangeError if ToInteger(byteLength) < 0
      8 info: |
      9  24.2.2.1 DataView (buffer, byteOffset, byteLength )
     10 
     11  ...
     12  8. If byteLength is either not present or undefined, then
     13    a. Let viewByteLength be bufferByteLength - offset.
     14  9. Else,
     15    a. Let viewByteLength be ? ToIndex(byteLength).
     16  ...
     17 
     18  ToIndex ( value )
     19 
     20  1. If value is undefined, then
     21    a. Let index be 0.
     22  2. Else,
     23    a. Let integerIndex be ? ToInteger(value).
     24    b. If integerIndex < 0, throw a RangeError exception.
     25    ...
     26 ---*/
     27 
     28 var buffer = new ArrayBuffer(2);
     29 
     30 assert.throws(RangeError, function() {
     31  new DataView(buffer, 0, -1);
     32 }, "new DataView(buffer, 0, -1);");
     33 
     34 assert.throws(RangeError, function() {
     35  new DataView(buffer, 0, -Infinity);
     36 }, "new DataView(buffer, 0, -Infinity);");
     37 
     38 assert.throws(RangeError, function() {
     39  new DataView(buffer, 1, -1);
     40 }, "new DataView(buffer, 1, -1);");
     41 
     42 assert.throws(RangeError, function() {
     43  new DataView(buffer, 2, -Infinity);
     44 }, "new DataView(buffer, 2, -Infinity);");
     45 
     46 reportCompare(0, 0);