UNPKG

575 BJavaScriptView Raw
1import {
2 isString,
3 assign
4} from 'min-dash';
5
6/**
7 * Create a fake key event for testing purposes.
8 *
9 * @param {string|number} key the key or keyCode/charCode
10 * @param {Object} [attrs]
11 *
12 * @return {Event}
13 */
14export function createKeyEvent(key, attrs) {
15 var event = document.createEvent('Events') || new document.defaultView.CustomEvent('keyEvent');
16
17 // init and mark as bubbles / cancelable
18 event.initEvent('keydown', false, true);
19
20 var keyAttrs = isString(key) ? { key: key } : { keyCode: key, which: key };
21
22 return assign(event, keyAttrs, attrs || {});
23}
\No newline at end of file