mirror of https://github.com/tc39/test262.git
24 lines
658 B
JavaScript
24 lines
658 B
JavaScript
//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);
|
|
}
|