diff --git a/addon-test-support/@ember/test-helpers/dom/trigger-key-event.js b/addon-test-support/@ember/test-helpers/dom/trigger-key-event.js index d723606e8..95b50cc10 100644 --- a/addon-test-support/@ember/test-helpers/dom/trigger-key-event.js +++ b/addon-test-support/@ember/test-helpers/dom/trigger-key-event.js @@ -27,6 +27,16 @@ const keyFromKeyCode = { 38: 'ArrowUp', 39: 'ArrowRight', 40: 'ArrowDown', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', 65: 'a', 66: 'b', 67: 'c', @@ -145,7 +155,7 @@ export default function triggerKeyEvent(target, eventType, key, modifiers = DEFA ); } - if (isNumeric(key)) { + if (isNumeric(key) && key.length > 1) { throw new Error( `Must provide a numeric \`keyCode\` to \`triggerKeyEvent\` but you passed \`${key}\` as a string.` ); diff --git a/tests/unit/dom/trigger-key-event-test.js b/tests/unit/dom/trigger-key-event-test.js index 6aa8362cf..5a24bd77e 100644 --- a/tests/unit/dom/trigger-key-event-test.js +++ b/tests/unit/dom/trigger-key-event-test.js @@ -181,6 +181,8 @@ module('DOM Helper: triggerKeyEvent', function(hooks) { await checkKey(38, 'ArrowUp'); await checkKey(39, 'ArrowRight'); await checkKey(40, 'ArrowDown'); + await checkKey(48, '0'); + await checkKey(57, '9'); await checkKey(91, 'Meta'); await checkKey(93, 'Meta'); await checkKey(187, '='); @@ -218,6 +220,8 @@ module('DOM Helper: triggerKeyEvent', function(hooks) { await checkKeyCode('Meta', 91); await checkKeyCode('=', 187); await checkKeyCode('-', 189); + await checkKeyCode('0', 48); + await checkKeyCode('9', 57); await checkKeyCode('A', 65); await checkKeyCode('Z', 90); });