test: do not check deprecated KeyboardEvent.keyCode property (#34472)
This commit is contained in:
parent
fccb2b0784
commit
fb145d5ebd
|
|
@ -10,13 +10,13 @@
|
|||
let textarea = document.querySelector('textarea');
|
||||
textarea.focus();
|
||||
textarea.addEventListener('keydown', event => {
|
||||
log('Keydown:', event.key, event.code, event.which, modifiers(event));
|
||||
log('Keydown:', event.key, event.code, getLocation(event), modifiers(event));
|
||||
});
|
||||
textarea.addEventListener('keypress', event => {
|
||||
log('Keypress:', event.key, event.code, event.which, event.charCode, modifiers(event));
|
||||
log('Keypress:', event.key, event.code, getLocation(event), event.charCode, modifiers(event));
|
||||
});
|
||||
textarea.addEventListener('keyup', event => {
|
||||
log('Keyup:', event.key, event.code, event.which, modifiers(event));
|
||||
log('Keyup:', event.key, event.code, getLocation(event), modifiers(event));
|
||||
});
|
||||
function modifiers(event) {
|
||||
let m = [];
|
||||
|
|
@ -28,6 +28,15 @@
|
|||
m.push('Shift')
|
||||
return '[' + m.join(' ') + ']';
|
||||
}
|
||||
function getLocation(event) {
|
||||
switch (event.location) {
|
||||
case KeyboardEvent.DOM_KEY_LOCATION_STANDARD: return 'STANDARD';
|
||||
case KeyboardEvent.DOM_KEY_LOCATION_LEFT: return 'LEFT';
|
||||
case KeyboardEvent.DOM_KEY_LOCATION_RIGHT: return 'RIGHT';
|
||||
case KeyboardEvent.DOM_KEY_LOCATION_NUMPAD: return 'NUMPAD';
|
||||
default: return 'Unknown: ' + event.location;
|
||||
};
|
||||
}
|
||||
function log(...args) {
|
||||
console.log.apply(console, args);
|
||||
result += args.join(' ') + '\n';
|
||||
|
|
|
|||
|
|
@ -93,18 +93,18 @@ it('should report shiftKey', async ({ page, server, browserName, platform }) =>
|
|||
const codeForKey = { 'Shift': 16, 'Alt': 18, 'Control': 17 };
|
||||
for (const modifierKey in codeForKey) {
|
||||
await keyboard.down(modifierKey);
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ' + modifierKey + ' ' + modifierKey + 'Left ' + codeForKey[modifierKey] + ' [' + modifierKey + ']');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ' + modifierKey + ' ' + modifierKey + 'Left LEFT [' + modifierKey + ']');
|
||||
await keyboard.down('!');
|
||||
// Shift+! will generate a keypress
|
||||
if (modifierKey === 'Shift')
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ! Digit1 49 [' + modifierKey + ']\nKeypress: ! Digit1 33 33 [' + modifierKey + ']');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ! Digit1 STANDARD [' + modifierKey + ']\nKeypress: ! Digit1 STANDARD 33 [' + modifierKey + ']');
|
||||
else
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ! Digit1 49 [' + modifierKey + ']');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ! Digit1 STANDARD [' + modifierKey + ']');
|
||||
|
||||
await keyboard.up('!');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ! Digit1 49 [' + modifierKey + ']');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ! Digit1 STANDARD [' + modifierKey + ']');
|
||||
await keyboard.up(modifierKey);
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ' + modifierKey + ' ' + modifierKey + 'Left ' + codeForKey[modifierKey] + ' []');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ' + modifierKey + ' ' + modifierKey + 'Left LEFT []');
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -112,31 +112,31 @@ it('should report multiple modifiers', async ({ page, server }) => {
|
|||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
const keyboard = page.keyboard;
|
||||
await keyboard.down('Control');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: Control ControlLeft 17 [Control]');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: Control ControlLeft LEFT [Control]');
|
||||
await keyboard.down('Alt');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: Alt AltLeft 18 [Alt Control]');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: Alt AltLeft LEFT [Alt Control]');
|
||||
await keyboard.down(';');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ; Semicolon 186 [Alt Control]');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keydown: ; Semicolon STANDARD [Alt Control]');
|
||||
await keyboard.up(';');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ; Semicolon 186 [Alt Control]');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: ; Semicolon STANDARD [Alt Control]');
|
||||
await keyboard.up('Control');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: Control ControlLeft 17 [Alt]');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: Control ControlLeft LEFT [Alt]');
|
||||
await keyboard.up('Alt');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: Alt AltLeft 18 []');
|
||||
expect(await page.evaluate('getResult()')).toBe('Keyup: Alt AltLeft LEFT []');
|
||||
});
|
||||
|
||||
it('should send proper codes while typing', async ({ page, server }) => {
|
||||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.type('!');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: ! Digit1 49 []',
|
||||
'Keypress: ! Digit1 33 33 []',
|
||||
'Keyup: ! Digit1 49 []'].join('\n'));
|
||||
['Keydown: ! Digit1 STANDARD []',
|
||||
'Keypress: ! Digit1 STANDARD 33 []',
|
||||
'Keyup: ! Digit1 STANDARD []'].join('\n'));
|
||||
await page.keyboard.type('^');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: ^ Digit6 54 []',
|
||||
'Keypress: ^ Digit6 94 94 []',
|
||||
'Keyup: ^ Digit6 54 []'].join('\n'));
|
||||
['Keydown: ^ Digit6 STANDARD []',
|
||||
'Keypress: ^ Digit6 STANDARD 94 []',
|
||||
'Keyup: ^ Digit6 STANDARD []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should send proper codes while typing with shift', async ({ page, server }) => {
|
||||
|
|
@ -145,10 +145,10 @@ it('should send proper codes while typing with shift', async ({ page, server })
|
|||
await keyboard.down('Shift');
|
||||
await page.keyboard.type('~');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: Shift ShiftLeft 16 [Shift]',
|
||||
'Keydown: ~ Backquote 192 [Shift]', // 192 is ` keyCode
|
||||
'Keypress: ~ Backquote 126 126 [Shift]', // 126 is ~ charCode
|
||||
'Keyup: ~ Backquote 192 [Shift]'].join('\n'));
|
||||
['Keydown: Shift ShiftLeft LEFT [Shift]',
|
||||
'Keydown: ~ Backquote STANDARD [Shift]',
|
||||
'Keypress: ~ Backquote STANDARD 126 [Shift]',
|
||||
'Keyup: ~ Backquote STANDARD [Shift]'].join('\n'));
|
||||
await keyboard.up('Shift');
|
||||
});
|
||||
|
||||
|
|
@ -173,54 +173,54 @@ it('should press plus', async ({ page, server }) => {
|
|||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('+');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: + Equal 187 []', // 192 is ` keyCode
|
||||
'Keypress: + Equal 43 43 []', // 126 is ~ charCode
|
||||
'Keyup: + Equal 187 []'].join('\n'));
|
||||
['Keydown: + Equal STANDARD []',
|
||||
'Keypress: + Equal STANDARD 43 []',
|
||||
'Keyup: + Equal STANDARD []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should press shift plus', async ({ page, server }) => {
|
||||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('Shift++');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: Shift ShiftLeft 16 [Shift]',
|
||||
'Keydown: + Equal 187 [Shift]', // 192 is ` keyCode
|
||||
'Keypress: + Equal 43 43 [Shift]', // 126 is ~ charCode
|
||||
'Keyup: + Equal 187 [Shift]',
|
||||
'Keyup: Shift ShiftLeft 16 []'].join('\n'));
|
||||
['Keydown: Shift ShiftLeft LEFT [Shift]',
|
||||
'Keydown: + Equal STANDARD [Shift]',
|
||||
'Keypress: + Equal STANDARD 43 [Shift]',
|
||||
'Keyup: + Equal STANDARD [Shift]',
|
||||
'Keyup: Shift ShiftLeft LEFT []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should support plus-separated modifiers', async ({ page, server }) => {
|
||||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('Shift+~');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: Shift ShiftLeft 16 [Shift]',
|
||||
'Keydown: ~ Backquote 192 [Shift]', // 192 is ` keyCode
|
||||
'Keypress: ~ Backquote 126 126 [Shift]', // 126 is ~ charCode
|
||||
'Keyup: ~ Backquote 192 [Shift]',
|
||||
'Keyup: Shift ShiftLeft 16 []'].join('\n'));
|
||||
['Keydown: Shift ShiftLeft LEFT [Shift]',
|
||||
'Keydown: ~ Backquote STANDARD [Shift]',
|
||||
'Keypress: ~ Backquote STANDARD 126 [Shift]',
|
||||
'Keyup: ~ Backquote STANDARD [Shift]',
|
||||
'Keyup: Shift ShiftLeft LEFT []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should support multiple plus-separated modifiers', async ({ page, server }) => {
|
||||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('Control+Shift+~');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: Control ControlLeft 17 [Control]',
|
||||
'Keydown: Shift ShiftLeft 16 [Control Shift]',
|
||||
'Keydown: ~ Backquote 192 [Control Shift]', // 192 is ` keyCode
|
||||
'Keyup: ~ Backquote 192 [Control Shift]',
|
||||
'Keyup: Shift ShiftLeft 16 [Control]',
|
||||
'Keyup: Control ControlLeft 17 []'].join('\n'));
|
||||
['Keydown: Control ControlLeft LEFT [Control]',
|
||||
'Keydown: Shift ShiftLeft LEFT [Control Shift]',
|
||||
'Keydown: ~ Backquote STANDARD [Control Shift]',
|
||||
'Keyup: ~ Backquote STANDARD [Control Shift]',
|
||||
'Keyup: Shift ShiftLeft LEFT [Control]',
|
||||
'Keyup: Control ControlLeft LEFT []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should shift raw codes', async ({ page, server }) => {
|
||||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('Shift+Digit3');
|
||||
expect(await page.evaluate('getResult()')).toBe(
|
||||
['Keydown: Shift ShiftLeft 16 [Shift]',
|
||||
'Keydown: # Digit3 51 [Shift]', // 51 is # keyCode
|
||||
'Keypress: # Digit3 35 35 [Shift]', // 35 is # charCode
|
||||
'Keyup: # Digit3 51 [Shift]',
|
||||
'Keyup: Shift ShiftLeft 16 []'].join('\n'));
|
||||
['Keydown: Shift ShiftLeft LEFT [Shift]',
|
||||
'Keydown: # Digit3 STANDARD [Shift]',
|
||||
'Keypress: # Digit3 STANDARD 35 [Shift]',
|
||||
'Keyup: # Digit3 STANDARD [Shift]',
|
||||
'Keyup: Shift ShiftLeft LEFT []'].join('\n'));
|
||||
});
|
||||
|
||||
it('should specify repeat property', async ({ page, server }) => {
|
||||
|
|
@ -710,7 +710,7 @@ it('should have correct Keydown/Keyup order when pressing Escape key', async ({
|
|||
await page.goto(server.PREFIX + '/input/keyboard.html');
|
||||
await page.keyboard.press('Escape');
|
||||
expect(await page.evaluate('getResult()')).toBe(`
|
||||
Keydown: Escape Escape 27 []
|
||||
Keyup: Escape Escape 27 []
|
||||
Keydown: Escape Escape STANDARD []
|
||||
Keyup: Escape Escape STANDARD []
|
||||
`.trim());
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue