// Copyright 2017 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. let {session, contextGroup, Protocol} = InspectorTest.start('Checks format of console.timeEnd output'); Protocol.Runtime.enable(); Protocol.Runtime.onConsoleAPICalled(message => { InspectorTest.log(message.params.args[0].value); }); InspectorTest.runTestSuite([ function zero(next) { checkInterval(0.0).then(next); }, function verySmall(next) { checkInterval(1e-15).then(next); }, function small(next) { checkInterval(0.001).then(next); }, function regular(next) { checkInterval(1.2345).then(next); }, function big(next) { checkInterval(10000.2345).then(next); }, function veryBig(next) { checkInterval(1e+15 + 0.2345).then(next); }, function huge(next) { checkInterval(1e+42).then(next); } ]); function checkInterval(time) { utils.setCurrentTimeMSForTest(0.0); return Protocol.Runtime.evaluate({ expression: `console.log('js: ' + ${time} + 'ms')`}) .then(() => Protocol.Runtime.evaluate({ expression: 'console.time(\'timeEnd\')'})) .then(() => utils.setCurrentTimeMSForTest(time)) .then(() => Protocol.Runtime.evaluate({ expression: 'console.timeEnd(\'timeEnd\')'})); }