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