mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 05:15:45 +00:00
4841b5cf60
setFinishedCallback() might have the same race issue as previously bug 1324163 resolved. - testFinishedCallback will be replaced with waitForMessage() in head.js. - testResult, and testException will be unified to testResult.
50 lines
849 B
JavaScript
50 lines
849 B
JavaScript
/**
|
|
* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
// testSteps is expected to be defined by the file including this file.
|
|
/* global testSteps */
|
|
|
|
var testGenerator = testSteps();
|
|
|
|
var testResult;
|
|
|
|
function runTest()
|
|
{
|
|
testGenerator.next();
|
|
}
|
|
|
|
function finishTestNow()
|
|
{
|
|
if (testGenerator) {
|
|
testGenerator.return();
|
|
testGenerator = undefined;
|
|
}
|
|
}
|
|
|
|
function finishTest()
|
|
{
|
|
setTimeout(finishTestNow, 0);
|
|
setTimeout(() => {
|
|
window.parent.postMessage(testResult, "*");
|
|
}, 0);
|
|
}
|
|
|
|
function grabEventAndContinueHandler(event)
|
|
{
|
|
testGenerator.next(event);
|
|
}
|
|
|
|
function errorHandler(event)
|
|
{
|
|
throw new Error("indexedDB error, code " + event.target.error.name);
|
|
}
|
|
|
|
function continueToNextStep()
|
|
{
|
|
SimpleTest.executeSoon(function() {
|
|
testGenerator.next();
|
|
});
|
|
}
|