Skip to content

Commit 658c575

Browse files
CopilotTyriar
andcommitted
Add comprehensive tests for alt+shift+letter keyboard combinations
Co-authored-by: Tyriar <[email protected]>
1 parent 223a650 commit 658c575

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/common/input/Keyboard.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,19 @@ describe('Keyboard', () => {
336336
assert.equal(testEvaluateKeyboardEvent({ shiftKey: true, keyCode: 49, key: '!' }).key, '!');
337337
});
338338

339+
// Characters using alt+shift sequences (letters)
340+
it('should return proper sequences for alt+shift+letter combinations', () => {
341+
// Test alt+shift combinations produce uppercase letters
342+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: true, keyCode: 65 }).key, '\x1bA'); // alt+shift+a
343+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: true, keyCode: 72 }).key, '\x1bH'); // alt+shift+h
344+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: true, keyCode: 90 }).key, '\x1bZ'); // alt+shift+z
345+
346+
// Test alt without shift produces lowercase letters
347+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: false, keyCode: 65 }).key, '\x1ba'); // alt+a
348+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: false, keyCode: 72 }).key, '\x1bh'); // alt+h
349+
assert.equal(testEvaluateKeyboardEvent({ altKey: true, shiftKey: false, keyCode: 90 }).key, '\x1bz'); // alt+z
350+
});
351+
339352
it('should return proper sequence for ctrl+@', () => {
340353
assert.equal(testEvaluateKeyboardEvent({ ctrlKey: true, shiftKey: true, keyCode: 50, key: '@' }).key, '\x00');
341354
});

0 commit comments

Comments
 (0)