Skip to content

Commit 520cad7

Browse files
authored
test(runtime-core): add test case for createBlock with disableTracking (vuejs#1169)
1 parent efa3214 commit 520cad7

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

packages/runtime-core/__tests__/vnode.spec.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,39 @@ describe('vnode', () => {
405405
}))
406406
expect(vnode.dynamicChildren).toStrictEqual([vnode1])
407407
})
408+
409+
test('openBlock w/ disableTracking: true', () => {
410+
const hoist = createVNode('div')
411+
let vnode1
412+
const vnode = (openBlock(),
413+
createBlock('div', null, [
414+
// a v-for fragment block generated by the compiler
415+
// disables tracking because it always diffs its
416+
// children.
417+
(vnode1 = (openBlock(true),
418+
createBlock(Fragment, null, [
419+
hoist,
420+
/*vnode2*/ createVNode(() => {}, null, 'text')
421+
])))
422+
]))
423+
expect(vnode.dynamicChildren).toStrictEqual([vnode1])
424+
expect(vnode1.dynamicChildren).toStrictEqual([])
425+
})
426+
427+
test('openBlock without disableTracking: true', () => {
428+
const hoist = createVNode('div')
429+
let vnode1, vnode2
430+
const vnode = (openBlock(),
431+
createBlock('div', null, [
432+
(vnode1 = (openBlock(),
433+
createBlock(Fragment, null, [
434+
hoist,
435+
(vnode2 = createVNode(() => {}, null, 'text'))
436+
])))
437+
]))
438+
expect(vnode.dynamicChildren).toStrictEqual([vnode1])
439+
expect(vnode1.dynamicChildren).toStrictEqual([vnode2])
440+
})
408441
})
409442

410443
describe('transformVNodeArgs', () => {

0 commit comments

Comments
 (0)