Skip to content

Commit e4d4729

Browse files
committed
fix(setImmediate): make code resilient to setImmediate not existing
1 parent c6acb0a commit e4d4729

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/helpers.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@ function runWithRealTimers(callback) {
1616

1717
function runWithJestRealTimers(callback) {
1818
const timerAPI = {
19-
clearImmediate,
2019
clearInterval,
2120
clearTimeout,
22-
setImmediate,
2321
setInterval,
2422
setTimeout,
2523
}
24+
if (typeof setImmediate === 'function') {
25+
timerAPI.setImmediate = setImmediate
26+
}
27+
if (typeof clearImmediate === 'function') {
28+
timerAPI.clearImmediate = clearImmediate
29+
}
2630

2731
jest.useRealTimers()
2832

src/wait-for-dom-change.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {
22
getWindowFromNode,
33
getDocument,
4-
setImmediate,
54
setTimeout,
65
clearTimeout,
76
runWithRealTimers,
@@ -39,7 +38,7 @@ function waitForDomChange({
3938

4039
function onDone(error, result) {
4140
clearTimeout(timer)
42-
setImmediate(() => observer.disconnect())
41+
setTimeout(() => observer.disconnect(), 0)
4342
if (error) {
4443
reject(error)
4544
} else {

0 commit comments

Comments
 (0)