// 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 that console message storage doesn\'t exceed limits'); contextGroup.addScript(` function generateEmptyMessages(n) { for (var i = 0; i < n; ++i) { console.log(''); } } function generate1MbMessages(n) { for (var i = 0; i < n; ++i) { console.log(new Array(1024 * 1024 - 32).join('!')); } } //# sourceURL=test.js`, 7, 26); var messagesReported = 0; Protocol.Runtime.onConsoleAPICalled(message => { ++messagesReported; }); InspectorTest.runTestSuite([ function testMaxConsoleMessagesCount(next) { messagesReported = 0; Protocol.Runtime.evaluate({ expression: 'generateEmptyMessages(1005)'}) .then(() => Protocol.Runtime.enable()) .then(() => Protocol.Runtime.disable()) .then(() => InspectorTest.log(`Messages reported: ${messagesReported}`)) .then(next); }, function testMaxConsoleMessagesV8Size(next) { messagesReported = 0; Protocol.Runtime.evaluate({ expression: 'generate1MbMessages(11)'}) .then(() => Protocol.Runtime.enable()) .then(() => Protocol.Runtime.disable()) .then(() => InspectorTest.log(`Messages reported: ${messagesReported}`)) .then(next); } ]);