UNPKG

siesta-lite

Version:

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

327 lines (282 loc) 10.8 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js">/* Siesta 5.6.1 Copyright(c) 2009-2022 Bryntum AB https://bryntum.com/contact https://bryntum.com/products/siesta/license */ <span id='Siesta-Test-UserAgent-KeyCodes'>/** </span>@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, &#39;Foo bar[ENTER]&#39;, 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(&#39;Siesta.Test.UserAgent.KeyCodes&#39;, { methods : { isNav : function (k) { var keys = this.keys return (k &gt;= 33 &amp;&amp; k &lt;= 40) || k == keys.RETURN || k == keys.TAB || k == keys.ESCAPE; }, isSpecial : function (k) { return k === this.keys.BACKSPACE || (k &gt;= 16 &amp;&amp; k &lt;= 20) || (k &gt;= 44 &amp;&amp; k &lt;= 46) || (k &gt;= 112 &amp;&amp; k &lt;= 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&#39;s a Mac? }, fromCharCode : function (code, readableForm) { var keys = this.keys for (var key in keys) if (keys[ key ] === code &amp;&amp; (!readableForm || key.length &gt; 1)) return key; } }, has : { // FROM Syn library by JupiterJS, MIT License. www.jupiterjs.com // key codes keys : { init : { //backspace &#39;\b&#39; : 8, &#39;BACKSPACE&#39; : 8, //tab &#39;\t&#39; : 9, &#39;TAB&#39; : 9, //enter &#39;\r&#39; : 13, &#39;RETURN&#39; : 13, &#39;ENTER&#39; : 13, &#39;SPACE&#39; : 32, //special &#39;SHIFT&#39; : 16, &#39;CTRL&#39; : 17, &#39;ALT&#39; : 18, &#39;CMD&#39; : 91, // Mac //weird &#39;PAUSE-BREAK&#39; : 19, &#39;CAPS&#39; : 20, &#39;ESCAPE&#39; : 27, &#39;ESC&#39; : 27, &#39;NUM-LOCK&#39; : 144, &#39;SCROLL-LOCK&#39; : 145, &#39;PRINT&#39; : 44, //navigation &#39;PAGE-UP&#39; : 33, &#39;PAGEUP&#39; : 33, &#39;PAGE-DOWN&#39; : 34, &#39;PAGEDOWN&#39; : 34, &#39;END&#39; : 35, &#39;HOME&#39; : 36, &#39;LEFT&#39; : 37, &#39;ARROWLEFT&#39; : 37, &#39;UP&#39; : 38, &#39;ARROWUP&#39; : 38, &#39;RIGHT&#39; : 39, &#39;ARROWRIGHT&#39; : 39, &#39;DOWN&#39; : 40, &#39;ARROWDOWN&#39; : 40, &#39;INSERT&#39; : 45, &#39;DELETE&#39; : 46, //normal characters &#39; &#39; : 32, &#39;0&#39; : 48, &#39;1&#39; : 49, &#39;2&#39; : 50, &#39;3&#39; : 51, &#39;4&#39; : 52, &#39;5&#39; : 53, &#39;6&#39; : 54, &#39;7&#39; : 55, &#39;8&#39; : 56, &#39;9&#39; : 57, &#39;A&#39; : 65, &#39;B&#39; : 66, &#39;C&#39; : 67, &#39;D&#39; : 68, &#39;E&#39; : 69, &#39;F&#39; : 70, &#39;G&#39; : 71, &#39;H&#39; : 72, &#39;I&#39; : 73, &#39;J&#39; : 74, &#39;K&#39; : 75, &#39;L&#39; : 76, &#39;M&#39; : 77, &#39;N&#39; : 78, &#39;O&#39; : 79, &#39;P&#39; : 80, &#39;Q&#39; : 81, &#39;R&#39; : 82, &#39;S&#39; : 83, &#39;T&#39; : 84, &#39;U&#39; : 85, &#39;V&#39; : 86, &#39;W&#39; : 87, &#39;X&#39; : 88, &#39;Y&#39; : 89, &#39;Z&#39; : 90, //NORMAL-CHARACTERS, NUMPAD &#39;NUM0&#39; : 96, &#39;NUM1&#39; : 97, &#39;NUM2&#39; : 98, &#39;NUM3&#39; : 99, &#39;NUM4&#39; : 100, &#39;NUM5&#39; : 101, &#39;NUM6&#39; : 102, &#39;NUM7&#39; : 103, &#39;NUM8&#39; : 104, &#39;NUM9&#39; : 105, &#39;*&#39; : 106, &#39;+&#39; : 107, //normal-characters, others &#39;;&#39; : 186, &#39;=&#39; : 187, &#39;,&#39; : 188, &#39;-&#39; : 189, &#39;.&#39; : 190, &#39;/&#39; : 191, &#39;`&#39; : 192, &#39;[&#39; : 219, &#39;\\&#39; : 220, &#39;]&#39; : 221, &quot;&#39;&quot; : 222, &#39;F1&#39; : 112, &#39;F2&#39; : 113, &#39;F3&#39; : 114, &#39;F4&#39; : 115, &#39;F5&#39; : 116, &#39;F6&#39; : 117, &#39;F7&#39; : 118, &#39;F8&#39; : 119, &#39;F9&#39; : 120, &#39;F10&#39; : 121, &#39;F11&#39; : 122, &#39;F12&#39; : 123 } }, // eof key codes // key names // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values keyNameMap : { init : { //backspace &#39;8&#39; : &#39;Backspace&#39;, &#39;9&#39; : &#39;Tab&#39;, //enter &#39;13&#39; : &#39;Enter&#39;, //space &#39;32&#39; : &#39;Space&#39;, //special &#39;16&#39; : &#39;Shift&#39;, &#39;17&#39; : &#39;Control&#39;, &#39;18&#39; : &#39;Alt&#39;, &#39;91&#39; : &#39;Meta&#39;, // Mac Cmd &#39;20&#39; : &#39;CapsLock&#39;, &#39;27&#39; : &#39;Escape&#39;, &#39;144&#39; : &#39;NumLock&#39;, &#39;145&#39; : &#39;ScrollLock&#39;, &#39;44&#39; : &#39;Print&#39;, //navigation &#39;33&#39; : &#39;PageUp&#39;, &#39;34&#39; : &#39;PageDown&#39;, &#39;35&#39; : &#39;End&#39;, &#39;36&#39; : &#39;Home&#39;, &#39;37&#39; : &#39;ArrowLeft&#39;, &#39;38&#39; : &#39;ArrowUp&#39;, &#39;39&#39; : &#39;ArrowRight&#39;, &#39;40&#39; : &#39;ArrowDown&#39;, &#39;45&#39; : &#39;Insert&#39;, &#39;46&#39; : &#39;Delete&#39;, &#39;106&#39; : &#39;Multiply&#39;, &#39;107&#39; : &#39;Add&#39;, &#39;112&#39; : &#39;F1&#39;, &#39;113&#39; : &#39;F2&#39;, &#39;114&#39; : &#39;F3&#39;, &#39;115&#39; : &#39;F4&#39;, &#39;116&#39; : &#39;F5&#39;, &#39;117&#39; : &#39;F6&#39;, &#39;118&#39; : &#39;F7&#39;, &#39;119&#39; : &#39;F8&#39;, &#39;120&#39; : &#39;F9&#39;, &#39;121&#39; : &#39;F10&#39;, &#39;122&#39; : &#39;F11&#39;, &#39;123&#39; : &#39;F12&#39; } } // eof key names } // eof has }); </pre> </body> </html>