53 lines
1,007 B
JavaScript
53 lines
1,007 B
JavaScript
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;
|
|
}
|