})
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)
})
})
if (!options || !isOn(key)) {
return false
}
- key = key.replace(/Once$/, '')
+ key = key.slice(2).replace(/Once$/, '')
return (
- hasOwn(options, key[2].toLowerCase() + key.slice(3)) ||
- hasOwn(options, key.slice(2))
+ hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||
+ hasOwn(options, hyphenate(key)) ||
+ hasOwn(options, key)
)
}