travis-ci
4670 of 5656 branches covered (82.57%)
13 of 13 new or added lines in 2 files covered. (100.0%)
10412 of 11525 relevant lines covered (90.34%)
5850.54 hits per line
1 |
/* globals window */
|
|
2 |
|
|
3 |
var win = window;
|
325 only 2387.2 ✔ |
4 |
var setImmediate = win.setImmediate;
|
325 only 2387.2 ✔ |
5 |
|
|
6 |
if (!setImmediate) {
|
|
7 |
if (win.postMessage) {
|
|
8 |
var queue = [];
|
325 only 2387.2 ✔ |
9 |
var messageName = "si"; |
325 only 2387.2 ✔ |
10 |
win.addEventListener( |
325 only 2387.2 ✔ |
11 |
"message",
|
|
12 |
function(event) {
|
|
13 |
var source = event.source;
|
312 only 2387.2 ✔ |
14 |
if (source == win || (!source && event.data === messageName)) {
|
|
15 |
event.stopPropagation(); |
312 only 2387.2 ✔ |
16 |
if (queue.length > 0) { |
|
17 |
var fn = queue.shift();
|
312 only 2387.2 ✔ |
18 |
fn(); |
312 only 2387.2 ✔ |
19 |
} |
|
20 |
} |
|
21 |
}, |
|
22 |
true
|
|
23 |
); |
|
24 |
|
|
25 |
setImmediate = function(fn) { |
325 only 2387.2 ✔ |
26 |
queue.push(fn); |
312 only 2387.2 ✔ |
27 |
win.postMessage(messageName, "*");
|
312 only 2387.2 ✔ |
28 |
}; |
|
29 |
} else {
|
|
30 |
setImmediate = setTimeout; |
× |
31 |
} |
|
32 |
} |
|
33 |
|
|
34 |
module.exports = setImmediate; |
325 only 2387.2 ✔ |