fix(scheduler): handle queueJob inside postFlushCbs

This commit is contained in:
Evan You
2018-10-28 12:08:58 -04:00
parent 01bb8d1894
commit ebf67ad208
2 changed files with 74 additions and 10 deletions

View File

@@ -90,4 +90,27 @@ describe('scheduler', () => {
await nextTick()
expect(calls).toEqual(['job1', 'job2'])
})
it('queueJob inside postFlushCb', async () => {
const calls: any = []
const job1 = () => {
calls.push('job1')
}
const cb1 = () => {
// queue another job in postFlushCb
calls.push('cb1')
queueJob(job2, cb2)
}
const job2 = () => {
calls.push('job2')
}
const cb2 = () => {
calls.push('cb2')
}
queueJob(job1, cb1)
queueJob(job2, cb2)
await nextTick()
expect(calls).toEqual(['job1', 'job2', 'cb1', 'cb2', 'job2', 'cb2'])
})
})