fix(runtime-core): attrs should be readonly in functional components (#10767)

This commit is contained in:
skirtle 2024-04-29 07:37:11 +01:00 committed by GitHub
parent 2d56816aa8
commit e8fd6446d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 4 deletions

View File

@ -17,7 +17,6 @@ import {
ref,
render,
serializeInner,
toRaw,
toRefs,
watch,
} from '@vue/runtime-test'
@ -129,12 +128,12 @@ describe('component props', () => {
render(h(Comp, { foo: 1 }), root)
expect(props).toEqual({ foo: 1 })
expect(attrs).toEqual({ foo: 1 })
expect(toRaw(props)).toBe(attrs)
expect(props).toBe(attrs)
render(h(Comp, { bar: 2 }), root)
expect(props).toEqual({ bar: 2 })
expect(attrs).toEqual({ bar: 2 })
expect(toRaw(props)).toBe(attrs)
expect(props).toBe(attrs)
})
test('boolean casting', () => {

View File

@ -116,7 +116,7 @@ export function renderComponentRoot(
? {
get attrs() {
markAttrsAccessed()
return attrs
return shallowReadonly(attrs)
},
slots,
emit,