Support command/ctrl/alt backspace correctly (#17175)

This commit is contained in:
Tommaso Sciortino
2026-01-21 10:13:26 -08:00
committed by GitHub
parent e894871afc
commit f190b87223
27 changed files with 487 additions and 298 deletions
@@ -151,18 +151,20 @@ describe('TextInput', () => {
keypressHandler({
name: 'a',
sequence: 'a',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: 'a',
});
expect(mockBuffer.handleInput).toHaveBeenCalledWith({
name: 'a',
sequence: 'a',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: 'a',
});
expect(mockBuffer.text).toBe('a');
});
@@ -176,18 +178,20 @@ describe('TextInput', () => {
keypressHandler({
name: 'backspace',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
expect(mockBuffer.handleInput).toHaveBeenCalledWith({
name: 'backspace',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
expect(mockBuffer.text).toBe('tes');
});
@@ -201,10 +205,11 @@ describe('TextInput', () => {
keypressHandler({
name: 'left',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
// Cursor moves from end to before 't'
@@ -221,10 +226,11 @@ describe('TextInput', () => {
keypressHandler({
name: 'right',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
expect(mockBuffer.visualCursor[1]).toBe(3);
@@ -239,10 +245,11 @@ describe('TextInput', () => {
keypressHandler({
name: 'return',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
expect(onSubmit).toHaveBeenCalledWith('test');
@@ -257,10 +264,11 @@ describe('TextInput', () => {
keypressHandler({
name: 'escape',
sequence: '',
ctrl: false,
meta: false,
shift: false,
alt: false,
ctrl: false,
cmd: false,
sequence: '',
});
await vi.runAllTimersAsync();