test(webkit): add failing keyIdentifier test (#2150)
This commit is contained in:
parent
9885ba20c7
commit
1b54716791
|
|
@ -16,7 +16,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const utils = require('./utils');
|
const utils = require('./utils');
|
||||||
const {FFOX, CHROMIUM, WEBKIT, MAC} = require('./utils').testOptions(browserType);
|
const {FFOX, CHROMIUM, WEBKIT, MAC, LINUX} = require('./utils').testOptions(browserType);
|
||||||
|
|
||||||
describe('Keyboard', function() {
|
describe('Keyboard', function() {
|
||||||
it('should type into a textarea', async({page, server}) => {
|
it('should type into a textarea', async({page, server}) => {
|
||||||
|
|
@ -351,5 +351,30 @@ describe('Keyboard', function() {
|
||||||
})
|
})
|
||||||
await page.keyboard.press('a');
|
await page.keyboard.press('a');
|
||||||
expect(await page.evaluate('lastKey.key')).toBe('a');
|
expect(await page.evaluate('lastKey.key')).toBe('a');
|
||||||
})
|
});
|
||||||
|
|
||||||
|
// event.keyIdentifier has been removed from all browsers except WebKit
|
||||||
|
it.skip(!WEBKIT).fail(!LINUX)('should expose keyIdentifier in webkit', async({page, server}) => {
|
||||||
|
await page.evaluate(() => {
|
||||||
|
document.addEventListener('keydown', event => {
|
||||||
|
window.lastKeyIdentifier = event.keyIdentifier
|
||||||
|
});
|
||||||
|
});
|
||||||
|
const keyMap = {
|
||||||
|
'ArrowUp': 'Up',
|
||||||
|
'ArrowDown': 'Down',
|
||||||
|
'ArrowLeft': 'Left',
|
||||||
|
'ArrowRight': 'Right',
|
||||||
|
'Backspace': 'U+0008',
|
||||||
|
'Tab': 'U+0009',
|
||||||
|
'Delete': 'U+007F',
|
||||||
|
'a': 'U+0061',
|
||||||
|
'b': 'U+0062',
|
||||||
|
'F12': 'F12',
|
||||||
|
};
|
||||||
|
for (const [key, keyIdentifier] of Object.entries(keyMap)) {
|
||||||
|
await page.keyboard.press(key);
|
||||||
|
expect(await page.evaluate('lastKeyIdentifier')).toBe(keyIdentifier);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue