summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/WorkerDebugger.console_debugger.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/workers/test/WorkerDebugger.console_debugger.js')
-rw-r--r--dom/workers/test/WorkerDebugger.console_debugger.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/workers/test/WorkerDebugger.console_debugger.js b/dom/workers/test/WorkerDebugger.console_debugger.js
new file mode 100644
index 0000000000..a8b2493200
--- /dev/null
+++ b/dom/workers/test/WorkerDebugger.console_debugger.js
@@ -0,0 +1,49 @@
+"use strict";
+
+function ok(a, msg) {
+ postMessage(JSON.stringify({ type: "status", what: !!a, msg }));
+}
+
+function is(a, b, msg) {
+ ok(a === b, msg);
+}
+
+function finish() {
+ postMessage(JSON.stringify({ type: "finish" }));
+}
+
+function magic() {
+ console.log("Hello from the debugger script!");
+
+ var foo = retrieveConsoleEvents();
+ ok(Array.isArray(foo), "We received an array.");
+ ok(foo.length >= 2, "At least 2 messages.");
+
+ is(
+ foo[0].arguments[0],
+ "Can you see this console message?",
+ "First message ok."
+ );
+ is(
+ foo[1].arguments[0],
+ "Can you see this second console message?",
+ "Second message ok."
+ );
+
+ setConsoleEventHandler(function (consoleData) {
+ is(consoleData.arguments[0], "Random message.", "Random message ok!");
+
+ // The consoleEventHandler can be null.
+ setConsoleEventHandler(null);
+
+ finish();
+ });
+}
+
+this.onmessage = function (event) {
+ switch (event.data) {
+ case "do magic":
+ magic();
+ break;
+ }
+};