Source code
Revision control
Copy as Markdown
Other Tools
'use strict';
function waitForRender() {
return new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve)));
}
async function pressKey(keyCode) {
await waitForRender();
await new test_driver.Actions()
.keyDown(keyCode)
.keyUp(keyCode)
.send();
await waitForRender();
}
async function arrowUp() {
const kArrowUp = '\uE013';
await pressKey(kArrowUp);
}
async function arrowDown() {
const kArrowDown = '\uE015';
await pressKey(kArrowDown);
}
async function navigateFocusForward() {
const kTab = '\uE004';
await pressKey(kTab);
}
async function navigateFocusBackward() {
await waitForRender();
const kShift = '\uE008';
const kTab = '\uE004';
await new test_driver.Actions()
.keyDown(kShift)
.keyDown(kTab)
.keyUp(kTab)
.keyUp(kShift)
.send();
await waitForRender();
}