michael@0: /** michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ michael@0: */ michael@0: michael@0: let testGenerator = testSteps(); michael@0: michael@0: let testResult; michael@0: let testException; michael@0: michael@0: function testFinishedCallback(result, exception) michael@0: { michael@0: throw new Error("Bad testFinishedCallback!"); michael@0: } michael@0: michael@0: function runTest() michael@0: { michael@0: testGenerator.next(); michael@0: } michael@0: michael@0: function finishTestNow() michael@0: { michael@0: if (testGenerator) { michael@0: testGenerator.close(); michael@0: testGenerator = undefined; michael@0: } michael@0: } michael@0: michael@0: function finishTest() michael@0: { michael@0: setTimeout(finishTestNow, 0); michael@0: setTimeout(testFinishedCallback, 0, testResult, testException); michael@0: } michael@0: michael@0: function grabEventAndContinueHandler(event) michael@0: { michael@0: testGenerator.send(event); michael@0: } michael@0: michael@0: function errorHandler(event) michael@0: { michael@0: throw new Error("indexedDB error, code " + event.target.error.name); michael@0: } michael@0: michael@0: function continueToNextStep() michael@0: { michael@0: SimpleTest.executeSoon(function() { michael@0: testGenerator.next(); michael@0: }); michael@0: }