Index: test/inspector/runtime/console-messages-limits.js |
diff --git a/test/inspector/runtime/console-messages-limits.js b/test/inspector/runtime/console-messages-limits.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..043e021ae6d85b85cc5d0e69ce1a85b44c7c884e |
--- /dev/null |
+++ b/test/inspector/runtime/console-messages-limits.js |
@@ -0,0 +1,44 @@ |
+// 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. |
+ |
+print('Checks that console message storage doesn\'t exceed limits'); |
+ |
+InspectorTest.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); |
+ } |
+]); |