46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* 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)
|
|
);
|
|
}
|
|
};
|
|
}
|