|
|
@@ -362,6 +362,35 @@ describe('Directive v-on', () => {
|
|
|
expect(spyMiddle).toHaveBeenCalled()
|
|
|
})
|
|
|
|
|
|
+ it('should support KeyboardEvent.key for built in aliases', () => {
|
|
|
+ vm = new Vue({
|
|
|
+ el,
|
|
|
+ template: `
|
|
|
+ <div>
|
|
|
+ <input ref="enter" @keyup.enter="foo">
|
|
|
+ <input ref="space" @keyup.space="foo">
|
|
|
+ <input ref="esc" @keyup.esc="foo">
|
|
|
+ <input ref="left" @keyup.left="foo">
|
|
|
+ <input ref="delete" @keyup.delete="foo">
|
|
|
+ </div>
|
|
|
+ `,
|
|
|
+ methods: { foo: spy }
|
|
|
+ })
|
|
|
+
|
|
|
+ triggerEvent(vm.$refs.enter, 'keyup', e => { e.key = 'Enter' })
|
|
|
+ expect(spy.calls.count()).toBe(1)
|
|
|
+ triggerEvent(vm.$refs.space, 'keyup', e => { e.key = ' ' })
|
|
|
+ expect(spy.calls.count()).toBe(2)
|
|
|
+ triggerEvent(vm.$refs.esc, 'keyup', e => { e.key = 'Escape' })
|
|
|
+ expect(spy.calls.count()).toBe(3)
|
|
|
+ triggerEvent(vm.$refs.left, 'keyup', e => { e.key = 'ArrowLeft' })
|
|
|
+ expect(spy.calls.count()).toBe(4)
|
|
|
+ triggerEvent(vm.$refs.delete, 'keyup', e => { e.key = 'Backspace' })
|
|
|
+ expect(spy.calls.count()).toBe(5)
|
|
|
+ triggerEvent(vm.$refs.delete, 'keyup', e => { e.key = 'Delete' })
|
|
|
+ expect(spy.calls.count()).toBe(6)
|
|
|
+ })
|
|
|
+
|
|
|
it('should support custom keyCode', () => {
|
|
|
Vue.config.keyCodes.test = 1
|
|
|
vm = new Vue({
|