| // 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); | 
 |   } | 
 | ]); |