mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-07 03:40:36 -07:00
Simplify paste handling (#16654)
This commit is contained in:
committed by
GitHub
parent
41369f67eb
commit
94d5ae541e
@@ -114,7 +114,7 @@ describe(`useKeypress`, () => {
|
||||
const key = { name: 'return', sequence: '\x1B\r' };
|
||||
act(() => stdin.write(key.sequence));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ ...key, meta: true, paste: false }),
|
||||
expect.objectContaining({ ...key, meta: true }),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -139,11 +139,10 @@ describe(`useKeypress`, () => {
|
||||
|
||||
expect(onKeypress).toHaveBeenCalledTimes(1);
|
||||
expect(onKeypress).toHaveBeenCalledWith({
|
||||
name: '',
|
||||
name: 'paste',
|
||||
ctrl: false,
|
||||
meta: false,
|
||||
shift: false,
|
||||
paste: true,
|
||||
insertable: true,
|
||||
sequence: pasteText,
|
||||
});
|
||||
@@ -155,19 +154,19 @@ describe(`useKeypress`, () => {
|
||||
const keyA = { name: 'a', sequence: 'a' };
|
||||
act(() => stdin.write('a'));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ ...keyA, paste: false }),
|
||||
expect.objectContaining({ ...keyA }),
|
||||
);
|
||||
|
||||
const pasteText = 'pasted';
|
||||
act(() => stdin.write(PASTE_START + pasteText + PASTE_END));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ paste: true, sequence: pasteText }),
|
||||
expect.objectContaining({ name: 'paste', sequence: pasteText }),
|
||||
);
|
||||
|
||||
const keyB = { name: 'b', sequence: 'b' };
|
||||
act(() => stdin.write('b'));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ ...keyB, paste: false }),
|
||||
expect.objectContaining({ ...keyB }),
|
||||
);
|
||||
|
||||
expect(onKeypress).toHaveBeenCalledTimes(3);
|
||||
@@ -183,10 +182,8 @@ describe(`useKeypress`, () => {
|
||||
stdin.write(PASTE_END);
|
||||
});
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ paste: true, sequence: pasteText }),
|
||||
expect.objectContaining({ name: 'paste', sequence: pasteText }),
|
||||
);
|
||||
|
||||
expect(onKeypress).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it('should handle paste false alarm', async () => {
|
||||
@@ -222,10 +219,10 @@ describe(`useKeypress`, () => {
|
||||
);
|
||||
});
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ paste: true, sequence: pasteText1 }),
|
||||
expect.objectContaining({ name: 'paste', sequence: pasteText1 }),
|
||||
);
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ paste: true, sequence: pasteText2 }),
|
||||
expect.objectContaining({ name: 'paste', sequence: pasteText2 }),
|
||||
);
|
||||
|
||||
expect(onKeypress).toHaveBeenCalledTimes(2);
|
||||
@@ -237,7 +234,7 @@ describe(`useKeypress`, () => {
|
||||
const keyA = { name: 'a', sequence: 'a' };
|
||||
act(() => stdin.write('a'));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ ...keyA, paste: false }),
|
||||
expect.objectContaining({ ...keyA }),
|
||||
);
|
||||
|
||||
const pasteText = 'pasted';
|
||||
@@ -251,13 +248,13 @@ describe(`useKeypress`, () => {
|
||||
stdin.write(PASTE_END.slice(3));
|
||||
});
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ paste: true, sequence: pasteText }),
|
||||
expect.objectContaining({ name: 'paste', sequence: pasteText }),
|
||||
);
|
||||
|
||||
const keyB = { name: 'b', sequence: 'b' };
|
||||
act(() => stdin.write('b'));
|
||||
expect(onKeypress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ ...keyB, paste: false }),
|
||||
expect.objectContaining({ ...keyB }),
|
||||
);
|
||||
|
||||
expect(onKeypress).toHaveBeenCalledTimes(3);
|
||||
|
||||
@@ -61,7 +61,6 @@ describe('useSelectionList', () => {
|
||||
ctrl: options.ctrl ?? false,
|
||||
meta: false,
|
||||
shift: options.shift ?? false,
|
||||
paste: false,
|
||||
insertable: false,
|
||||
};
|
||||
activeKeypressHandler(key);
|
||||
@@ -331,7 +330,6 @@ describe('useSelectionList', () => {
|
||||
ctrl: false,
|
||||
meta: false,
|
||||
shift: false,
|
||||
paste: false,
|
||||
insertable: true,
|
||||
};
|
||||
handler(key);
|
||||
@@ -381,7 +379,6 @@ describe('useSelectionList', () => {
|
||||
ctrl: false,
|
||||
meta: false,
|
||||
shift: false,
|
||||
paste: false,
|
||||
insertable: false,
|
||||
};
|
||||
handler(key);
|
||||
|
||||
@@ -39,7 +39,6 @@ const createKey = (partial: Partial<Key>): Key => ({
|
||||
ctrl: partial.ctrl || false,
|
||||
meta: partial.meta || false,
|
||||
shift: partial.shift || false,
|
||||
paste: partial.paste || false,
|
||||
insertable: partial.insertable || false,
|
||||
...partial,
|
||||
});
|
||||
|
||||
@@ -312,7 +312,6 @@ export function useVim(buffer: TextBuffer, onSubmit?: (value: string) => void) {
|
||||
ctrl: key.ctrl || false,
|
||||
meta: key.meta || false,
|
||||
shift: key.shift || false,
|
||||
paste: key.paste || false,
|
||||
insertable: key.insertable || false,
|
||||
}),
|
||||
[],
|
||||
|
||||
Reference in New Issue
Block a user