62 lines
1.7 KiB
JavaScript
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");
|
|
}
|