1
0
Fork 0
firefox/devtools/client/webconsole/test/browser/browser_webconsole_batching.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

62 lines
1.7 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Check adding console calls as batch keep the order of the message.
const TEST_URI =
"http://example.com/browser/devtools/client/webconsole/" +
"test/browser/test-batching.html";
const {
l10n,
} = require("resource://devtools/client/webconsole/utils/messages.js");
add_task(async function () {
const hud = await openNewTabAndConsole(TEST_URI);
const messageNumber = 100;
await testSimpleBatchLogging(hud, messageNumber);
await testBatchLoggingAndClear(hud, messageNumber);
});
async function testSimpleBatchLogging(hud, messageNumber) {
await SpecialPowers.spawn(
gBrowser.selectedBrowser,
[messageNumber],
function (numMessages) {
content.wrappedJSObject.batchLog(numMessages);
}
);
const allMessages = await waitFor(async () => {
const msgs = await findAllMessagesVirtualized(hud);
if (msgs.length == messageNumber) {
return msgs;
}
return null;
});
for (let i = 0; i < messageNumber; i++) {
const node = allMessages[i].querySelector(".message-body");
is(
node.textContent,
i.toString(),
`message at index "${i}" is the expected one`
);
}
}
async function testBatchLoggingAndClear(hud, messageNumber) {
await SpecialPowers.spawn(
gBrowser.selectedBrowser,
[messageNumber],
function (numMessages) {
content.wrappedJSObject.batchLogAndClear(numMessages);
}
);
await waitFor(() =>
findConsoleAPIMessage(hud, l10n.getStr("consoleCleared"))
);
ok(true, "console cleared message is displayed");
const messages = findAllMessages(hud);
is(messages.length, 1, "console was cleared as expected");
}