aboutsummaryrefslogtreecommitdiffstats
path: root/test/harness/timer.js
blob: 69762d83f54479a67962b411f3563688e61204c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//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)
                    p.then(check);
                else
                    callback();
            }        
            p.then(check);
        }
    })(this);