tor-browser

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

non-integer-rangeerror.js (1163B)


      1 // Copyright (C) 2017 Robin Templeton. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: Non integer number values will throw a RangeError
      6 esid: sec-bigint-constructor
      7 info: |
      8  BigInt ( value )
      9 
     10  ...
     11  2. Let prim be ? ToPrimitive(value, hint Number).
     12  3. If Type(prim) is Number, return ? NumberToBigInt(prim).
     13  ...
     14 
     15  NumberToBigInt ( number )
     16 
     17  ...
     18  2. If IsSafeInteger(number) is false, throw a RangeError exception.
     19  ...
     20 
     21  IsSafeInteger ( number )
     22 
     23  ...
     24  2. If number is NaN, +∞, or -∞, return false.
     25  3. Let integer be ToInteger(number).
     26  4. If integer is not equal to number, return false.
     27  ...
     28 features: [BigInt]
     29 ---*/
     30 
     31 assert.throws(RangeError, function() {
     32  BigInt(0.00005);
     33 });
     34 
     35 assert.throws(RangeError, function() {
     36  BigInt(-0.00005);
     37 });
     38 
     39 assert.throws(RangeError, function() {
     40  BigInt(.1);
     41 });
     42 
     43 assert.throws(RangeError, function() {
     44  BigInt(-.1);
     45 });
     46 
     47 assert.throws(RangeError, function() {
     48  BigInt(1.1);
     49 });
     50 
     51 assert.throws(RangeError, function() {
     52  BigInt(-1.1);
     53 });
     54 
     55 assert.throws(RangeError, function() {
     56  BigInt(Number.MIN_VALUE);
     57 });
     58 
     59 reportCompare(0, 0);