Home | History | Annotate | Download | only in mjsunit
      1 // Copyright 2014 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 function test(message, a, b, skipStrictMode) {
      6   assertSame(eval(a), eval(b), message);
      7   if (!skipStrictMode) {
      8     (function() {
      9       'use strict';
     10       assertSame(eval(a), eval(b), message);
     11     })();
     12   }
     13 }
     14 
     15 test('hex-int', '0x20', '32');
     16 test('oct-int', '040', '32', true);  // Octals disallowed in strict mode.
     17 test('dec-int', '32.00', '32');
     18 test('dec-underflow-int', '32.00000000000000000000000000000000000000001', '32');
     19 test('exp-int', '3.2e1', '32');
     20 test('exp-int', '3200e-2', '32');
     21 test('overflow-inf', '1e2000', 'Infinity');
     22 test('overflow-inf-exact', '1.797693134862315808e+308', 'Infinity');
     23 test('non-overflow-inf-exact', '1.797693134862315807e+308',
     24      '1.7976931348623157e+308');
     25 test('underflow-0', '1e-2000', '0');
     26 test('underflow-0-exact', '2.4703282292062E-324', '0');
     27 test('non-underflow-0-exact', '2.4703282292063E-324', '5e-324');
     28 test('precission-loss-high', '9007199254740992', '9007199254740993');
     29 test('precission-loss-low', '1.9999999999999998', '1.9999999999999997');
     30 test('non-canonical-literal-int', '1.0', '1');
     31 test('non-canonical-literal-frac', '1.50', '1.5');
     32 test('rounding-down', '1.12512512512512452', '1.1251251251251244');
     33 test('rounding-up', '1.12512512512512453', '1.1251251251251246');
     34