fix(runtime-core): default value for function type prop (#1349)

fix #1348
This commit is contained in:
tangjinzhou
2020-06-12 21:06:28 +08:00
committed by GitHub
parent 4c4f39b6ea
commit d437a0145d
2 changed files with 12 additions and 2 deletions

View File

@@ -158,6 +158,7 @@ describe('component props', () => {
test('default value', () => {
let proxy: any
const defaultFn = jest.fn(() => ({ a: 1 }))
const defaultBaz = jest.fn(() => ({ b: 1 }))
const Comp = {
props: {
@@ -166,6 +167,10 @@ describe('component props', () => {
},
bar: {
default: defaultFn
},
baz: {
type: Function,
default: defaultBaz
}
},
render() {
@@ -178,7 +183,9 @@ describe('component props', () => {
expect(proxy.foo).toBe(2)
const prevBar = proxy.bar
expect(proxy.bar).toEqual({ a: 1 })
expect(proxy.baz).toEqual(defaultBaz)
expect(defaultFn).toHaveBeenCalledTimes(1)
expect(defaultBaz).toHaveBeenCalledTimes(0)
// #999: updates should not cause default factory of unchanged prop to be
// called again