Vue Test Utils, событие Keydown больше не вызывается keyCode в тесте - PullRequest
0 голосов
/ 07 мая 2019

В тестовой среде событие keydown больше не вызывается keyCode после обновления vue-test-utils до версии 1.0.0-beta.26 или выше, например:

Vue

  <div @keydown="onKeydown"></div>

Scripts

  public onKeydown (event: KeyboardEvent) {
    if(event.keyCode === 13) {
      this.keyName = 'enter'
    } else if(event.keyCode === 67) {
      this.keyName = 'c'
    }
  }

Предыдущая версия, все тесты PASS с keyCode в качестве параметра.

// version 1.0.0-beta.25
const wrapper = shallowMount(HelloWorld)
wrapper.find('div').trigger('keydown', { keyCode: 13 })
expect(wrapper.vm.keyName).toBe('enter') // PASS

wrapper.find('div').trigger('keydown', { keyCode: '67' })
expect(wrapper.vm.keyName).toBe('c')  // PASS

После обновления версии мой тест теперь НЕВОЗМОЖЕН.

Пробовал использовать keydown.enter, он работает для *Клавиша 1017 *, но не работает для клавиши 'c'.

// version 1.0.0-beta.26
wrapper.find('div').trigger('keydown.enter')
expect(wrapper.vm.keyName).toBe('enter') // PASS

wrapper.find('div').trigger('keydown.c')
expect(wrapper.vm.keyName).toBe('c')  // FAILED

Есть предложения о том, как вызвать событие нажатия клавиши a-z клавишей?

...