tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_webconsole_batching.js (1762B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // Check adding console calls as batch keep the order of the message.
      7 
      8 const TEST_URI =
      9  "http://example.com/browser/devtools/client/webconsole/" +
     10  "test/browser/test-batching.html";
     11 const {
     12  l10n,
     13 } = require("resource://devtools/client/webconsole/utils/messages.js");
     14 
     15 add_task(async function () {
     16  const hud = await openNewTabAndConsole(TEST_URI);
     17  const messageNumber = 100;
     18  await testSimpleBatchLogging(hud, messageNumber);
     19  await testBatchLoggingAndClear(hud, messageNumber);
     20 });
     21 
     22 async function testSimpleBatchLogging(hud, messageNumber) {
     23  await SpecialPowers.spawn(
     24    gBrowser.selectedBrowser,
     25    [messageNumber],
     26    function (numMessages) {
     27      content.wrappedJSObject.batchLog(numMessages);
     28    }
     29  );
     30  const allMessages = await waitFor(async () => {
     31    const msgs = await findAllMessagesVirtualized(hud);
     32    if (msgs.length == messageNumber) {
     33      return msgs;
     34    }
     35    return null;
     36  });
     37  for (let i = 0; i < messageNumber; i++) {
     38    const node = allMessages[i].querySelector(".message-body");
     39    is(
     40      node.textContent,
     41      i.toString(),
     42      `message at index "${i}" is the expected one`
     43    );
     44  }
     45 }
     46 
     47 async function testBatchLoggingAndClear(hud, messageNumber) {
     48  await SpecialPowers.spawn(
     49    gBrowser.selectedBrowser,
     50    [messageNumber],
     51    function (numMessages) {
     52      content.wrappedJSObject.batchLogAndClear(numMessages);
     53    }
     54  );
     55  await waitFor(() =>
     56    findConsoleAPIMessage(hud, l10n.getStr("consoleCleared"))
     57  );
     58  ok(true, "console cleared message is displayed");
     59 
     60  const messages = findAllMessages(hud);
     61  is(messages.length, 1, "console was cleared as expected");
     62 }