|
|
@ -135,4 +135,32 @@ describe('runtime-dom: v-on directive', () => { |
|
|
|
handler(event, 'value', true) |
|
|
|
expect(fn).toBeCalledWith(event, 'value', true) |
|
|
|
}) |
|
|
|
|
|
|
|
it('withKeys cache wrapped listener separately for different modifiers', () => { |
|
|
|
const el1 = document.createElement('button') |
|
|
|
const el2 = document.createElement('button') |
|
|
|
const fn = vi.fn() |
|
|
|
const handler1 = withKeys(fn, ['a']) |
|
|
|
const handler2 = withKeys(fn, ['b']) |
|
|
|
expect(handler1 === handler2).toBe(false) |
|
|
|
patchEvent(el1, 'onKeyup', null, handler1, null) |
|
|
|
patchEvent(el2, 'onKeyup', null, handler2, null) |
|
|
|
triggerEvent(el1, 'keyup', e => (e.key = 'a')) |
|
|
|
triggerEvent(el2, 'keyup', e => (e.key = 'b')) |
|
|
|
expect(fn).toBeCalledTimes(2) |
|
|
|
}) |
|
|
|
|
|
|
|
it('withModifiers cache wrapped listener separately for different modifiers', () => { |
|
|
|
const el1 = document.createElement('button') |
|
|
|
const el2 = document.createElement('button') |
|
|
|
const fn = vi.fn() |
|
|
|
const handler1 = withModifiers(fn, ['ctrl']) |
|
|
|
const handler2 = withModifiers(fn, ['shift']) |
|
|
|
expect(handler1 === handler2).toBe(false) |
|
|
|
patchEvent(el1, 'onClick', null, handler1, null) |
|
|
|
patchEvent(el2, 'onClick', null, handler2, null) |
|
|
|
triggerEvent(el1, 'click', e => (e.ctrlKey = true)) |
|
|
|
triggerEvent(el2, 'click', e => (e.shiftKey = true)) |
|
|
|
expect(fn).toBeCalledTimes(2) |
|
|
|
}) |
|
|
|
}) |