| /* | |
| * 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(); | |
| } | |