UNPKG

siesta-lite

Version:

Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers

307 lines (262 loc) 8.5 kB
/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ /** @class Siesta.Test.UserAgent.KeyCodes @singleton This is a singleton class, containing the mnemonical names for various advanced key codes. You can use this names in the {@link Siesta.Test.Browser#type} method, like this: t.type(el, 'Foo bar[ENTER]', function () { ... }) Below is the full list: - `BACKSPACE` - `TAB` - `ENTER` (`RETURN`) - `SPACE` - `SHIFT` - `CTRL` - `ALT` - `PAUSE-BREAK` - `CAPS` - `ESCAPE` (`ESC`) - `NUM-LOCK` - `SCROLL-LOCK` - `PRINT` - `PAGE-UP` - `PAGE-DOWN` - `END` - `HOME` - `LEFT` - `UP` - `RIGHT` - `DOWN` - `INSERT` - `DELETE` - `NUM0` - `NUM1` - `NUM2` - `NUM3` - `NUM4` - `NUM5` - `NUM6` - `NUM7` - `NUM8` - `NUM9` - `F1` - `F2` - `F3` - `F4` - `F5` - `F6` - `F7` - `F8` - `F9` - `F10` - `F11` - `F12` */ Singleton('Siesta.Test.UserAgent.KeyCodes', { methods : { isNav : function (k) { var keys = this.keys return (k >= 33 && k <= 40) || k == keys.RETURN || k == keys.TAB || k == keys.ESCAPE; }, isSpecial : function (k) { return k === this.keys.BACKSPACE || (k >= 16 && k <= 20) || (k >= 44 && k <= 46) || (k >= 112 && k <= 123) || k === 91; }, isModifier : function(k) { return k === this.keys.SHIFT || k === this.keys.CTRL || k === this.keys.ALT || k === this.keys.CMD; // TODO add check to make sure it's a Mac? }, fromCharCode : function (code, readableForm) { var keys = this.keys for (var key in keys) if (keys[ key ] === code && (!readableForm || key.length > 1)) return key; } }, has : { // FROM Syn library by JupiterJS, MIT License. www.jupiterjs.com // key codes keys : { init : { //backspace '\b' : 8, 'BACKSPACE' : 8, //tab '\t' : 9, 'TAB' : 9, //enter '\r' : 13, 'RETURN' : 13, 'ENTER' : 13, 'SPACE' : 32, //special 'SHIFT' : 16, 'CTRL' : 17, 'ALT' : 18, 'CMD' : 91, // Mac //weird 'PAUSE-BREAK' : 19, 'CAPS' : 20, 'ESCAPE' : 27, 'ESC' : 27, 'NUM-LOCK' : 144, 'SCROLL-LOCK' : 145, 'PRINT' : 44, //navigation 'PAGE-UP' : 33, 'PAGEUP' : 33, 'PAGE-DOWN' : 34, 'PAGEDOWN' : 34, 'END' : 35, 'HOME' : 36, 'LEFT' : 37, 'ARROWLEFT' : 37, 'UP' : 38, 'ARROWUP' : 38, 'RIGHT' : 39, 'ARROWRIGHT' : 39, 'DOWN' : 40, 'ARROWDOWN' : 40, 'INSERT' : 45, 'DELETE' : 46, //normal characters ' ' : 32, '0' : 48, '1' : 49, '2' : 50, '3' : 51, '4' : 52, '5' : 53, '6' : 54, '7' : 55, '8' : 56, '9' : 57, 'A' : 65, 'B' : 66, 'C' : 67, 'D' : 68, 'E' : 69, 'F' : 70, 'G' : 71, 'H' : 72, 'I' : 73, 'J' : 74, 'K' : 75, 'L' : 76, 'M' : 77, 'N' : 78, 'O' : 79, 'P' : 80, 'Q' : 81, 'R' : 82, 'S' : 83, 'T' : 84, 'U' : 85, 'V' : 86, 'W' : 87, 'X' : 88, 'Y' : 89, 'Z' : 90, //NORMAL-CHARACTERS, NUMPAD 'NUM0' : 96, 'NUM1' : 97, 'NUM2' : 98, 'NUM3' : 99, 'NUM4' : 100, 'NUM5' : 101, 'NUM6' : 102, 'NUM7' : 103, 'NUM8' : 104, 'NUM9' : 105, '*' : 106, '+' : 107, //normal-characters, others ';' : 186, '=' : 187, ',' : 188, '-' : 189, '.' : 190, '/' : 191, '`' : 192, '[' : 219, '\\' : 220, ']' : 221, "'" : 222, 'F1' : 112, 'F2' : 113, 'F3' : 114, 'F4' : 115, 'F5' : 116, 'F6' : 117, 'F7' : 118, 'F8' : 119, 'F9' : 120, 'F10' : 121, 'F11' : 122, 'F12' : 123 } }, // eof key codes // key names // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values keyNameMap : { init : { //backspace '8' : 'Backspace', '9' : 'Tab', //enter '13' : 'Enter', //space '32' : 'Space', //special '16' : 'Shift', '17' : 'Control', '18' : 'Alt', '91' : 'Meta', // Mac Cmd '20' : 'CapsLock', '27' : 'Escape', '144' : 'NumLock', '145' : 'ScrollLock', '44' : 'Print', //navigation '33' : 'PageUp', '34' : 'PageDown', '35' : 'End', '36' : 'Home', '37' : 'ArrowLeft', '38' : 'ArrowUp', '39' : 'ArrowRight', '40' : 'ArrowDown', '45' : 'Insert', '46' : 'Delete', '106' : 'Multiply', '107' : 'Add', '112' : 'F1', '113' : 'F2', '114' : 'F3', '115' : 'F4', '116' : 'F5', '117' : 'F6', '118' : 'F7', '119' : 'F8', '120' : 'F9', '121' : 'F10', '122' : 'F11', '123' : 'F12' } } // eof key names } // eof has });