blob: 405a599a64c1a97749e851042c28741629803f52 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank(`Tests Input.dispatchKeyEvent method.`);
await session.evaluate(`
window.addEventListener('keydown', logEvent);
window.addEventListener('keypress', logEvent);
window.addEventListener('keyup', logEvent);
window.logs = [];
function log(text) {
logs.push(text);
}
function logEvent(event) {
log('-----Event-----');
log('type: ' + event.type);
if (event.altKey)
log('altKey');
if (event.ctrlKey)
log('ctrlKey');
if (event.metaKey)
log('metaKey');
if (event.shiftKey)
log('shiftKey');
if (event.keyCode)
log('keyCode: ' + event.keyCode);
if (event.key)
log('key: ' + event.key);
if (event.charCode)
log('charCode: ' + event.charCode);
if (event.text)
log('text: ' + event.text);
if (event.location)
log('location: ' + event.location);
if (event.code)
log('code: ' + event.code);
log('');
}
`);
function dumpError(message) {
if (message.error)
testRunner.log('Error: ' + message.error.message);
}
dumpError(await dp.Input.dispatchKeyEvent({
type: 'rawKeyDown',
windowsVirtualKeyCode: 65, // VK_A
key: 'A'
}));
dumpError(await dp.Input.dispatchKeyEvent({
type: 'char',
modifiers: 8, // shift
text: 'A',
unmodifiedText: 'a'
}));
dumpError(await dp.Input.dispatchKeyEvent({
type: 'keyUp',
windowsVirtualKeyCode: 65,
key: 'A'
}));
dumpError(await dp.Input.dispatchKeyEvent({
type: 'char',
text: '\u05E9', // Hebrew Shin (sh)
unmodifiedText: '\u05E9'
}));
dumpError(await dp.Input.dispatchKeyEvent({
type: 'keyDown',
modifiers: 8, // shift
windowsVirtualKeyCode: 16,
location: 1,
code: 'ShiftLeft'
}));
dumpError(await dp.Input.dispatchKeyEvent({
type: 'keyDown',
modifiers: 8, // shift
windowsVirtualKeyCode: 16,
location: 2,
code: 'ShiftRight'
}));
testRunner.log(await session.evaluate(`window.logs.join('\\n')`));
testRunner.completeTest();
})