test: add test case for regsitering onBeforeUnmount inside onMounted

This commit is contained in:
Evan You 2019-08-30 13:48:27 -04:00
parent 7fe82398f7
commit 1d55b368e8

View File

@ -153,6 +153,36 @@ describe('api: lifecycle hooks', () => {
expect(fn).toHaveBeenCalledTimes(1) expect(fn).toHaveBeenCalledTimes(1)
}) })
it('onBeforeUnmount in onMounted', async () => {
const toggle = ref(true)
const root = nodeOps.createElement('div')
const fn = jest.fn(() => {
// should be called before inner div is removed
expect(serializeInner(root)).toBe(`<div></div>`)
})
const Comp = {
setup() {
return () => (toggle.value ? h(Child) : null)
}
}
const Child = {
setup() {
onMounted(() => {
onBeforeUnmount(fn)
})
return () => h('div')
}
}
render(h(Comp), root)
toggle.value = false
await nextTick()
expect(fn).toHaveBeenCalledTimes(1)
})
it('lifecycle call order', async () => { it('lifecycle call order', async () => {
const count = ref(0) const count = ref(0)
const root = nodeOps.createElement('div') const root = nodeOps.createElement('div')
@ -313,6 +343,4 @@ describe('api: lifecycle hooks', () => {
newValue: 3 newValue: 3
}) })
}) })
test.todo('onErrorCaptured')
}) })