fix(runtime-core/scheduler): handle nested flushPostFlushCbs calls
fix #1947
This commit is contained in:
@@ -4,7 +4,8 @@ import {
|
||||
queuePostFlushCb,
|
||||
invalidateJob,
|
||||
queuePreFlushCb,
|
||||
flushPreFlushCbs
|
||||
flushPreFlushCbs,
|
||||
flushPostFlushCbs
|
||||
} from '../src/scheduler'
|
||||
|
||||
describe('scheduler', () => {
|
||||
@@ -505,4 +506,24 @@ describe('scheduler', () => {
|
||||
await nextTick()
|
||||
expect(count).toBe(1)
|
||||
})
|
||||
|
||||
// #1947 flushPostFlushCbs should handle nested calls
|
||||
// e.g. app.mount inside app.mount
|
||||
test('flushPostFlushCbs', async () => {
|
||||
let count = 0
|
||||
|
||||
const queueAndFlush = (hook: Function) => {
|
||||
queuePostFlushCb(hook)
|
||||
flushPostFlushCbs()
|
||||
}
|
||||
|
||||
queueAndFlush(() => {
|
||||
queueAndFlush(() => {
|
||||
count++
|
||||
})
|
||||
})
|
||||
|
||||
await nextTick()
|
||||
expect(count).toBe(1)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user