File: test_nsiconsolemessage.html

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (74 lines) | stat: -rw-r--r-- 1,712 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE HTML>
<html lang="en">
<head>
  <meta charset="utf8">
  <title>Test for nsIConsoleMessages</title>
  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
  <script type="text/javascript" src="common.js"></script>
  <!-- Any copyright is dedicated to the Public Domain.
     - http://creativecommons.org/publicdomain/zero/1.0/ -->
</head>
<body>
<p>Make sure that nsIConsoleMessages are logged. See bug 859756.</p>

<script class="testbody" type="text/javascript">
"use strict";
SimpleTest.waitForExplicitFinish();

let expectedMessages = [];

async function startTest()
{
  removeEventListener("load", startTest);
  const {state} = await attachConsole(["PageError"]);
  onAttach(state);
}

function onAttach(state)
{
  onLogMessage = onLogMessage.bind(null, state);
  state.webConsoleFront.on("logMessage", onLogMessage);

  expectedMessages = [{
    message: "hello world! bug859756",
    timeStamp: FRACTIONAL_NUMBER_REGEX,
  }];

  Services.console.logStringMessage("hello world! bug859756");

  info("waiting for messages");
}

const receivedMessages = [];

function onLogMessage(state, packet)
{
  info("received message: " + packet.message);

  let found = false;
  for (const expected of expectedMessages) {
    if (expected.message == packet.message) {
      found = true;
      break;
    }
  }
  if (!found) {
    return;
  }

  receivedMessages.push(packet);
  if (receivedMessages.length != expectedMessages.length) {
    return;
  }

  state.webConsoleFront.off("logMessage", onLogMessage);

  checkObject(receivedMessages, expectedMessages);

  closeDebugger(state, () => SimpleTest.finish());
}

addEventListener("load", startTest);
</script>
</body>
</html>