Source code

Revision control

Copy as Markdown

Other Tools

function postMsg(message) {
parent.postMessage(message, "http://mochi.test:8888");
}
window.addEventListener("message", onMessageReceived);
function onMessageReceived(event) {
if (event.data == "step") {
var performed = false;
try {
performed = doStep();
} catch (ex) {
postMsg("FAILURE: exception threw at " + location + ":\n" + ex);
finishTest();
}
if (performed) {
postMsg("perf");
}
return;
}
postMsg("Invalid message");
}
function ok(a, message) {
if (!a) {
postMsg("FAILURE: " + message);
} else {
postMsg(message);
}
}
function is(a, b, message) {
if (a != b) {
postMsg("FAILURE: " + message + ", expected " + b + " got " + a);
} else {
postMsg(message + ", expected " + b + " got " + a);
}
}
function todo(a, b, message) {
postMsg("TODO: " + message + ", expected " + b + " got " + a);
}
function finishTest() {
try {
localStorage.clear();
} catch (e) {}
postMsg("done");
return false;
}