60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
// Get test filename for page being run in popup so errors are more useful
|
|
var testName = location.pathname.split("/").pop();
|
|
|
|
// Wrap test functions and pass to parent window
|
|
window.ok = function (a, msg) {
|
|
opener.ok(a, testName + ": " + msg);
|
|
};
|
|
|
|
window.is = function (a, b, msg) {
|
|
opener.is(a, b, testName + ": " + msg);
|
|
};
|
|
|
|
window.isnot = function (a, b, msg) {
|
|
opener.isnot(a, b, testName + ": " + msg);
|
|
};
|
|
|
|
window.todo = function (a, msg) {
|
|
opener.todo(a, testName + ": " + msg);
|
|
};
|
|
|
|
window.todo_is = function (a, b, msg) {
|
|
opener.todo_is(a, b, testName + ": " + msg);
|
|
};
|
|
|
|
window.todo_isnot = function (a, b, msg) {
|
|
opener.todo_isnot(a, b, testName + ": " + msg);
|
|
};
|
|
|
|
window.info = function (msg) {
|
|
opener.info(testName + ": " + msg);
|
|
};
|
|
|
|
// Override bits of SimpleTest so test files work stand-alone
|
|
var SimpleTest = SimpleTest || {};
|
|
|
|
SimpleTest.waitForExplicitFinish = function () {
|
|
dump("[POINTEREVENT] Starting " + testName + "\n");
|
|
};
|
|
|
|
SimpleTest.finish = function () {
|
|
dump("[POINTEREVENT] Finishing " + testName + "\n");
|
|
opener.nextTest();
|
|
};
|
|
|
|
// Utility functions
|
|
function waitForEvent(aTarget, aEvent, aCallback) {
|
|
return new Promise(aResolve => {
|
|
aTarget.addEventListener(
|
|
aEvent,
|
|
e => {
|
|
ok(true, `got ${e.type} event on ${e.target.id}`);
|
|
if (aCallback) {
|
|
aCallback(e);
|
|
}
|
|
aResolve();
|
|
},
|
|
{ once: true }
|
|
);
|
|
});
|
|
}
|