Skip to content

Commit

Permalink
fix(runtime-core):add unit test vuejs#6697
Browse files Browse the repository at this point in the history
  • Loading branch information
chenzhihui committed Sep 26, 2022
1 parent 80fdddb commit 6c4b72a
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions packages/runtime-core/__tests__/rendererTemplateRef.spec.ts
Expand Up @@ -493,4 +493,48 @@ describe('api: template refs', () => {
await nextTick()
expect(mapRefs()).toMatchObject(['2', '3', '4'])
})

// #6697 v-for ref behaves differently under production and development
test('named ref in v-for , should be responsive when rendering', async () => {
const list = ref([1, 2, 3])
const listRefs = ref([])
const App = {
setup() {
return { listRefs }
},
render() {
return h(
'div',
null,
[
h('div',null,String(listRefs.value)),
h(
'ul',
list.value.map(i =>
h(
'li',
{
ref: 'listRefs',
ref_for: true
},
i
)
)
)
]
)
}
}
const root = nodeOps.createElement('div')
render(h(App), root)

await nextTick()
expect(String(listRefs.value)).toBe('[object Object],[object Object],[object Object]')
expect(serializeInner(root)).toBe('<div><div>[object Object],[object Object],[object Object]</div><ul><li>1</li><li>2</li><li>3</li></ul></div>')

list.value.splice(0,1);
await nextTick()
expect(String(listRefs.value)).toBe('[object Object],[object Object]')
expect(serializeInner(root)).toBe('<div><div>[object Object],[object Object]</div><ul><li>2</li><li>3</li></ul></div>')
})
})

0 comments on commit 6c4b72a

Please sign in to comment.