Skip to content
This repository was archived by the owner on Jul 19, 2025. It is now read-only.

Commit 5ea072c

Browse files
committed
test(runtime): debug hook unit test
1 parent f1ef62a commit 5ea072c

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

packages/runtime-vapor/__tests__/apiLifecycle.spec.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {
66
getCurrentInstance,
77
inject,
88
nextTick,
9+
onRenderTracked,
10+
onRenderTriggered,
911
onUpdated,
1012
provide,
1113
ref,
@@ -112,4 +114,47 @@ describe('apiLifecycle', () => {
112114
expect(handleUpdated).toHaveBeenCalledTimes(1)
113115
expect(handleUpdatedChild).toHaveBeenCalledTimes(1)
114116
})
117+
118+
test('onRenderTracked', async () => {
119+
const onTrackedFn = vi.fn()
120+
const count = ref(0)
121+
const { host, render } = define({
122+
setup() {
123+
onRenderTracked(onTrackedFn)
124+
return (() => {
125+
const n0 = createTextNode()
126+
renderEffect(() => {
127+
setText(n0, count.value)
128+
})
129+
return n0
130+
})()
131+
},
132+
})
133+
render()
134+
await nextTick()
135+
expect(onTrackedFn).toBeCalled()
136+
expect(host.innerHTML).toBe('0')
137+
})
138+
test('onRenderTrigger', async () => {
139+
const onRenderTriggerFn = vi.fn()
140+
const count = ref(0)
141+
const { host, render } = define({
142+
setup() {
143+
onRenderTriggered(onRenderTriggerFn)
144+
return (() => {
145+
const n0 = createTextNode()
146+
renderEffect(() => {
147+
setText(n0, count.value)
148+
})
149+
return n0
150+
})()
151+
},
152+
})
153+
render()
154+
count.value++
155+
await nextTick()
156+
expect(onRenderTriggerFn).toBeCalled()
157+
expect(onRenderTriggerFn).toHaveBeenCalledOnce()
158+
expect(host.innerHTML).toBe('1')
159+
})
115160
})

0 commit comments

Comments
 (0)