From: iwusong Date: Tue, 4 Jun 2024 15:04:11 +0000 (+0800) Subject: test: test for events when component updating (#7896) X-Git-Tag: v3.4.28~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be1e9bf03fa7bf75eb765774f57efb339a2399b9;p=thirdparty%2Fvuejs%2Fcore.git test: test for events when component updating (#7896) test for #5517 --- diff --git a/packages/runtime-core/__tests__/componentProps.spec.ts b/packages/runtime-core/__tests__/componentProps.spec.ts index 1cc43c91bc..8244580005 100644 --- a/packages/runtime-core/__tests__/componentProps.spec.ts +++ b/packages/runtime-core/__tests__/componentProps.spec.ts @@ -749,4 +749,39 @@ describe('component props', () => { expect(`Invalid prop name: "ref"`).toHaveBeenWarned() expect(`Invalid prop name: "$foo"`).toHaveBeenWarned() }) + + // #5517 + test('events should not be props when component updating', async () => { + let props: any + function eventHandler() {} + const foo = ref(1) + + const Child = defineComponent({ + setup(_props) { + props = _props + }, + emits: ['event'], + props: ['foo'], + template: `
{{ foo }}
`, + }) + + const Comp = defineComponent({ + setup() { + return { + foo, + eventHandler, + } + }, + components: { Child }, + template: ``, + }) + + const root = document.createElement('div') + domRender(h(Comp), root) + expect(props).not.toHaveProperty('onEvent') + + foo.value++ + await nextTick() + expect(props).not.toHaveProperty('onEvent') + }) })