1 // A framework for testing.
5 Framework.safeRun = function(callback, onSuccess, onException, breakOnUncaught)
10 Framework.safeRun(onSuccess, undefined, onException, breakOnUncaught);
13 Framework.safeRun(onException, undefined, breakOnUncaught ? Framework.breakInFramework : undefined);
14 else if (breakOnUncaught)
15 Framework.breakInFramework();
19 Framework.throwFrameworkException = function(msg)
21 throw Error("FrameworkException" + (msg ? ": " + msg : ""));
24 Framework.breakInFramework = function()
29 Framework.empty = function()
33 Framework.doSomeWork = function()
35 const numberOfSteps = 50;
36 for (var i = 0; i < numberOfSteps; ++i) {
37 if (window["dummy property should not exist!" + i]) // Prevent optimizations.
39 Framework.safeRun(Framework.empty, Framework.empty, Framework.empty, true);
43 Framework.schedule = function(callback, delay)
45 setTimeout(callback, delay || 0);
48 Framework.willSchedule = function(callback, delay)
50 return function Framework_willSchedule() {
51 return Framework.schedule(callback, delay);
55 Framework.doSomeAsyncChainCalls = function(callback)
57 var func1 = Framework.willSchedule(function Framework_inner1() {
61 var func2 = Framework.willSchedule(function Framework_inner2() {
62 if (window.callbackFromFramework)
63 window.callbackFromFramework(func1);
67 Framework.schedule(func2);