fix(runtime-core): fix component .once listener logic

This commit is contained in:
Evan You
2020-10-20 09:49:53 -04:00
parent 6d2a1cb64d
commit 4bbb2b2ee6
2 changed files with 37 additions and 5 deletions

View File

@@ -196,6 +196,30 @@ describe('component: emit', () => {
expect(fn).toHaveBeenCalledTimes(1)
})
test('.once with normal listener of the same name', () => {
const Foo = defineComponent({
render() {},
emits: {
foo: null
},
created() {
this.$emit('foo')
this.$emit('foo')
}
})
const onFoo = jest.fn()
const onFooOnce = jest.fn()
render(
h(Foo, {
onFoo,
onFooOnce
}),
nodeOps.createElement('div')
)
expect(onFoo).toHaveBeenCalledTimes(2)
expect(onFooOnce).toHaveBeenCalledTimes(1)
})
test('isEmitListener', () => {
const options = { click: null }
expect(isEmitListener(options, 'onClick')).toBe(true)