summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js')
-rw-r--r--devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js86
1 files changed, 86 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js b/devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js
new file mode 100644
index 0000000000..3ee5d4c70d
--- /dev/null
+++ b/devtools/client/webconsole/test/browser/browser_webconsole_loglimit.js
@@ -0,0 +1,86 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test that messages are properly updated when the log limit is reached.
+
+const TEST_URI =
+ "data:text/html;charset=utf-8,<!DOCTYPE html>Web Console test for " +
+ "Old messages are removed after passing devtools.hud.loglimit";
+
+add_task(async function () {
+ await pushPref("devtools.hud.loglimit", 140);
+ const hud = await openNewTabAndConsole(TEST_URI);
+ await clearOutput(hud);
+
+ let onMessage = waitForMessageByType(
+ hud,
+ "test message [149]",
+ ".console-api"
+ );
+ SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () {
+ for (let i = 0; i < 150; i++) {
+ content.console.log(`test message [${i}]`);
+ }
+ });
+ await onMessage;
+
+ ok(
+ !(await findMessageVirtualizedByType({
+ hud,
+ text: "test message [0]",
+ typeSelector: ".console-api",
+ })),
+ "Message 0 has been pruned"
+ );
+ ok(
+ !(await findMessageVirtualizedByType({
+ hud,
+ text: "test message [9]",
+ typeSelector: ".console-api",
+ })),
+ "Message 9 has been pruned"
+ );
+ ok(
+ await findMessageVirtualizedByType({
+ hud,
+ text: "test message [10]",
+ typeSelector: ".console-api",
+ }),
+ "Message 10 is still displayed"
+ );
+ is(
+ (await findAllMessagesVirtualized(hud)).length,
+ 140,
+ "Number of displayed messages is correct"
+ );
+
+ onMessage = waitForMessageByType(hud, "hello world", ".console-api");
+ SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () {
+ content.console.log("hello world");
+ });
+ await onMessage;
+
+ ok(
+ !(await findMessageVirtualizedByType({
+ hud,
+ text: "test message [10]",
+ typeSelector: ".console-api",
+ })),
+ "Message 10 has been pruned"
+ );
+ ok(
+ await findMessageVirtualizedByType({
+ hud,
+ text: "test message [11]",
+ typeSelector: ".console-api",
+ }),
+ "Message 11 is still displayed"
+ );
+ is(
+ (await findAllMessagesVirtualized(hud)).length,
+ 140,
+ "Number of displayed messages is still correct"
+ );
+});