UNPKG

@revoloo/cypress6

Version:

Cypress.io end to end testing tool

79 lines (62 loc) 1.96 kB
describe('keyboard', () => { beforeEach(() => { cy.visit('/fixtures/jquery.html') }) context('modifiers', () => { it('fires keyboard and click events with modifier', () => { cy .window().then((win) => { win.$('#input').one('keyup', (e) => { expect(e.ctrlKey).to.be.true expect(e.which).to.equal(83) }) win.$('button').one('click', (e) => { expect(e.ctrlKey).to.be.true }) cy.get('#input').type('{ctrl}s', { release: false }) cy.get('button').click() }) }) it('releases modifiers between tests', () => { cy .window().then((win) => { win.$('#input').one('keyup', (e) => { expect(e.ctrlKey).to.be.false }) cy.get('#input').type('s') }) }) context('handles charCodes, keyCodes, and which for keyup, keydown, and keypress', () => { const characters = [ ['.', 46, 190], ['/', 47, 191], ['{enter}', 13, 13], ['*', 42, 56], ['+', 43, 187], ['-', 45, 189], ] characters.forEach(([char, asciiCode, keyCode]) => { it(`for ${char}`, () => { cy.window().then((win) => { win.$('#input').one('keydown', (e) => { expect(e.charCode).to.equal(0) expect(e.which).to.equal(keyCode) expect(e.keyCode).to.equal(keyCode) }) win.$('#input').one('keypress', (e) => { expect(e.charCode).to.equal(asciiCode) expect(e.which).to.equal(asciiCode) expect(e.keyCode).to.equal(asciiCode) }) win.$('#input').one('keyup', (e) => { expect(e.charCode).to.equal(0) expect(e.which).to.equal(keyCode) expect(e.keyCode).to.equal(keyCode) }) cy.get('#input').type(char) }) }) }) }) }) })