| /* |
| * Function that sends an accesskey using the proper key combination depending on the browser and OS. |
| * |
| * This needs that the test imports the following scripts: |
| * <script src="/resources/testdriver.js"></script> |
| * <script src="/resources/testdriver-actions.js"></script> |
| * <script src="/resources/testdriver-vendor.js"></script> |
| */ |
| function pressAccessKey(accessKey){ |
| let controlKey = '\uE009'; // left Control key |
| let altKey = '\uE00A'; // left Alt key |
| let optionKey = altKey; // left Option key |
| let shiftKey = '\uE008'; // left Shift key |
| // There are differences in using accesskey across browsers and OS's. |
| // See: // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey |
| let isMacOSX = navigator.userAgent.indexOf("Mac") != -1; |
| let osAccessKey = isMacOSX ? [controlKey, optionKey] : [shiftKey, altKey]; |
| let actions = new test_driver.Actions(); |
| // Press keys. |
| for (let key of osAccessKey) { |
| actions = actions.keyDown(key); |
| } |
| actions = actions |
| .keyDown(accessKey) |
| .addTick() |
| .keyUp(accessKey); |
| osAccessKey.reverse(); |
| for (let key of osAccessKey) { |
| actions = actions.keyUp(key); |
| } |
| return actions.send(); |
| } |
| |
| |