gecko/toolkit/devtools/webconsole/test/test_nsiconsolemessage.html

75 lines
1.7 KiB
HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf8">
<title>Test for nsIConsoleMessages</title>
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript;version=1.8" 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;version=1.8">
"use strict";
SimpleTest.waitForExplicitFinish();
let expectedMessages = [];
function startTest()
{
removeEventListener("load", startTest);
attachConsole(["PageError"], onAttach);
}
function onAttach(aState, aResponse)
{
onLogMessage = onLogMessage.bind(null, aState);
aState.dbgClient.addListener("logMessage", onLogMessage);
expectedMessages = [{
message: "hello world! bug859756",
timeStamp: /^\d+$/,
}];
Services.console.logStringMessage("hello world! bug859756");
info("waiting for messages");
}
let receivedMessages = [];
function onLogMessage(aState, aType, aPacket)
{
is(aPacket.from, aState.actor, "packet actor");
info("received message: " + aPacket.message);
let found = false;
for (let expected of expectedMessages) {
if (expected.message == aPacket.message) {
found = true;
break;
}
}
if (!found) {
return;
}
receivedMessages.push(aPacket);
if (receivedMessages.length != expectedMessages.length) {
return;
}
aState.dbgClient.removeListener("logMessage", onLogMessage);
checkObject(receivedMessages, expectedMessages);
closeDebugger(aState, () => SimpleTest.finish());
}
addEventListener("load", startTest);
</script>
</body>
</html>