//setTimeout is not available, hence this script was loaded if (Promise === undefined && this.setTimeout === undefined) { if(/\$DONE()/.test(code)) $ERROR("Async test capability is not supported in your test environment"); } if (Promise !== undefined && this.setTimeout === undefined) { (function(that) { that.setTimeout = function(callback, delay) { var p = Promise.resolve(); var start = Date.now(); var end = start + delay; function check(){ var timeLeft = end - Date.now(); if(timeLeft > 0) p.then(check); else callback(); } p.then(check); } })(this); }