+function waitForFeedback(fn, maxTime) {
+ if (!maxTime) {
+ maxTime = testMaxTime;
+ }
+ var start = new Date().getTime();
+ var wait = function keepWaiting() {
+ var now = new Date().getTime();
+ var hasTimedOut = now - start > maxTime;
+ if (hasTimedOut) {
+ console.log("Test timed out");
+ fn();
+ return;
+ }
+ var feedback = page.evaluate(function() {
+ var feedback = $(".feedback");
+ if (feedback.css("display") == "none") {
+ return "";
+ }
+ return feedback.text();
+ });
+ var hasFinished = feedback.length > 0 && feedback != "Calculating...";
+ if (hasFinished) {
+ fn();
+ }
+ else {
+ setTimeout(keepWaiting, 100);
+ }
+ }
+ wait();
+}
+