Skip to content

Commit 06f14a5

Browse files
committed
Add test for AltGr abort on blur
1 parent a020ef0 commit 06f14a5

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

tests/test.keyboard.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,22 @@ describe('Key Event Handling', function () {
478478
expect(kbd.onkeyevent).to.not.have.been.called;
479479
});
480480

481+
it('should release ControlLeft on blur', function () {
482+
const kbd = new Keyboard(document);
483+
kbd.onkeyevent = sinon.spy();
484+
kbd._handleKeyDown(keyevent('keydown', {code: 'ControlLeft', key: 'Control', location: 1}));
485+
expect(kbd.onkeyevent).to.not.have.been.called;
486+
kbd._allKeysUp();
487+
expect(kbd.onkeyevent).to.have.been.calledTwice;
488+
expect(kbd.onkeyevent.firstCall).to.have.been.calledWith(0xffe3, "ControlLeft", true);
489+
expect(kbd.onkeyevent.secondCall).to.have.been.calledWith(0xffe3, "ControlLeft", false);
490+
491+
// Check that the timer is properly dead
492+
kbd.onkeyevent.resetHistory();
493+
this.clock.tick(100);
494+
expect(kbd.onkeyevent).to.not.have.been.called;
495+
});
496+
481497
it('should generate AltGraph for quick Ctrl+Alt sequence', function () {
482498
const kbd = new Keyboard(document);
483499
kbd.onkeyevent = sinon.spy();

0 commit comments

Comments
 (0)