Source code

Revision control

Copy as Markdown

Other Tools

/* Any copyright is dedicated to the Public Domain.
/**
* Sets the worker message and error event handlers to respond to SimpleTest
* style messages.
*/
function listenForTests(worker, opts = { verbose: true }) {
worker.onerror = function (error) {
error.preventDefault();
ok(false, "Worker error " + error.message);
};
worker.onmessage = function (msg) {
if (opts && opts.verbose) {
ok(true, "MAIN: onmessage " + JSON.stringify(msg.data));
}
switch (msg.data.kind) {
case "is":
SimpleTest.ok(
msg.data.outcome,
msg.data.description + "( " + msg.data.a + " ==? " + msg.data.b + ")"
);
return;
case "isnot":
SimpleTest.ok(
msg.data.outcome,
msg.data.description + "( " + msg.data.a + " !=? " + msg.data.b + ")"
);
return;
case "ok":
SimpleTest.ok(msg.data.condition, msg.data.description);
return;
case "info":
SimpleTest.info(msg.data.description);
return;
case "finish":
SimpleTest.finish();
return;
default:
SimpleTest.ok(
false,
"test_osfile.xul: wrong message " + JSON.stringify(msg.data)
);
}
};
}