fix(runtime-core): fix emit listener check on kebab-case events (#2542)

fix #2540
This commit is contained in:
shadowings-zy
2020-11-28 04:24:29 +08:00
committed by GitHub
parent 2ab8c41a1a
commit 3532b2b021
2 changed files with 16 additions and 4 deletions

View File

@@ -283,12 +283,23 @@ describe('component: emit', () => {
})
test('isEmitListener', () => {
const options = { click: null }
const options = {
click: null,
'test-event': null,
fooBar: null,
FooBaz: null
}
expect(isEmitListener(options, 'onClick')).toBe(true)
expect(isEmitListener(options, 'onclick')).toBe(false)
expect(isEmitListener(options, 'onBlick')).toBe(false)
// .once listeners
expect(isEmitListener(options, 'onClickOnce')).toBe(true)
expect(isEmitListener(options, 'onclickOnce')).toBe(false)
// kebab-case option
expect(isEmitListener(options, 'onTestEvent')).toBe(true)
// camelCase option
expect(isEmitListener(options, 'onFooBar')).toBe(true)
// PascalCase option
expect(isEmitListener(options, 'onFooBaz')).toBe(true)
})
})