1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/devtools/webconsole/test/test_nsiconsolemessage.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,74 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html lang="en"> 1.6 +<head> 1.7 + <meta charset="utf8"> 1.8 + <title>Test for nsIConsoleMessages</title> 1.9 + <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.10 + <script type="text/javascript;version=1.8" src="common.js"></script> 1.11 + <!-- Any copyright is dedicated to the Public Domain. 1.12 + - http://creativecommons.org/publicdomain/zero/1.0/ --> 1.13 +</head> 1.14 +<body> 1.15 +<p>Make sure that nsIConsoleMessages are logged. See bug 859756.</p> 1.16 + 1.17 +<script class="testbody" type="text/javascript;version=1.8"> 1.18 +"use strict"; 1.19 +SimpleTest.waitForExplicitFinish(); 1.20 + 1.21 +let expectedMessages = []; 1.22 + 1.23 +function startTest() 1.24 +{ 1.25 + removeEventListener("load", startTest); 1.26 + attachConsole(["PageError"], onAttach); 1.27 +} 1.28 + 1.29 +function onAttach(aState, aResponse) 1.30 +{ 1.31 + onLogMessage = onLogMessage.bind(null, aState); 1.32 + aState.dbgClient.addListener("logMessage", onLogMessage); 1.33 + 1.34 + expectedMessages = [{ 1.35 + message: "hello world! bug859756", 1.36 + timeStamp: /^\d+$/, 1.37 + }]; 1.38 + 1.39 + Services.console.logStringMessage("hello world! bug859756"); 1.40 + 1.41 + info("waiting for messages"); 1.42 +} 1.43 + 1.44 +let receivedMessages = []; 1.45 + 1.46 +function onLogMessage(aState, aType, aPacket) 1.47 +{ 1.48 + is(aPacket.from, aState.actor, "packet actor"); 1.49 + info("received message: " + aPacket.message); 1.50 + 1.51 + let found = false; 1.52 + for (let expected of expectedMessages) { 1.53 + if (expected.message == aPacket.message) { 1.54 + found = true; 1.55 + break; 1.56 + } 1.57 + } 1.58 + if (!found) { 1.59 + return; 1.60 + } 1.61 + 1.62 + receivedMessages.push(aPacket); 1.63 + if (receivedMessages.length != expectedMessages.length) { 1.64 + return; 1.65 + } 1.66 + 1.67 + aState.dbgClient.removeListener("logMessage", onLogMessage); 1.68 + 1.69 + checkObject(receivedMessages, expectedMessages); 1.70 + 1.71 + closeDebugger(aState, () => SimpleTest.finish()); 1.72 +} 1.73 + 1.74 +addEventListener("load", startTest); 1.75 +</script> 1.76 +</body> 1.77 +</html>