Skip to content

Commit 0a24c24

Browse files
committed
Add more extensive emoji/wide tests
1 parent e1d3e77 commit 0a24c24

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export class PromptInputModel extends Disposable implements IPromptInputModel {
181181
if (!this._continuationPrompt || !lineText.startsWith(this._continuationPrompt)) {
182182
return 0;
183183
}
184-
let buffer: string = '';
184+
let buffer = '';
185185
let x = 0;
186186
while (buffer !== this._continuationPrompt) {
187187
buffer += line.getCell(x++)!.getChars();

src/vs/platform/terminal/test/common/capabilities/commandDetection/promptInputModel.test.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -115,59 +115,59 @@ suite('PromptInputModel', () => {
115115
fireCommandStart();
116116
assertPromptInput('|');
117117

118-
await writePromise('');
119-
assertPromptInput('|');
118+
await writePromise('안영');
119+
assertPromptInput('안영|');
120120

121-
await writePromise('\r\n영');
122-
assertPromptInput('안\n영|');
121+
await writePromise('\r\n컴퓨터');
122+
assertPromptInput('안영\n컴퓨터|');
123123

124-
await writePromise('\r\n이');
125-
assertPromptInput('안\n영\n이|');
124+
await writePromise('\r\n사람');
125+
assertPromptInput('안영\n컴퓨터\n사람|');
126126

127127
await writePromise('\x1b[G');
128-
assertPromptInput('안\n영\n|');
128+
assertPromptInput('안영\n컴퓨터\n|사람');
129129

130130
await writePromise('\x1b[A');
131-
assertPromptInput('\n|영\n이');
131+
assertPromptInput('안영\n|컴퓨터\n사람');
132132

133-
await writePromise('\x1b[C');
134-
assertPromptInput('안\n영|\n이');
133+
await writePromise('\x1b[4C');
134+
assertPromptInput('안영\n컴퓨|터\n사람');
135135

136136
await writePromise('\x1b[1;4H');
137-
assertPromptInput('안|\n영\n이');
137+
assertPromptInput('안|영\n컴퓨터\n사람');
138138

139139
await writePromise('\x1b[D');
140-
assertPromptInput('|안\n영\n이');
140+
assertPromptInput('|안영\n컴퓨터\n사람');
141141
});
142142

143143
test('emoji input', async () => {
144144
await writePromise('$ ');
145145
fireCommandStart();
146146
assertPromptInput('|');
147147

148-
await writePromise('👋');
149-
assertPromptInput('👋|');
148+
await writePromise('✌️👍');
149+
assertPromptInput('✌️👍|');
150150

151-
await writePromise('\r\n👍');
152-
assertPromptInput('👋\n👍|');
151+
await writePromise('\r\n😎😕😅');
152+
assertPromptInput('✌️👍\n😎😕😅|');
153153

154-
await writePromise('\r\n✌️');
155-
assertPromptInput('👋\n👍\n✌️|');
154+
await writePromise('\r\n🤔🤷😩');
155+
assertPromptInput('✌️👍\n😎😕😅\n🤔🤷😩|');
156156

157157
await writePromise('\x1b[G');
158-
assertPromptInput('👋\n👍\n|✌️');
158+
assertPromptInput('✌️👍\n😎😕😅\n|🤔🤷😩');
159159

160160
await writePromise('\x1b[A');
161-
assertPromptInput('👋\n|👍\n✌️');
161+
assertPromptInput('✌️👍\n|😎😕😅\n🤔🤷😩');
162162

163-
await writePromise('\x1b[C');
164-
assertPromptInput('👋\n👍|\n✌️');
163+
await writePromise('\x1b[2C');
164+
assertPromptInput('✌️👍\n😎😕|😅\n🤔🤷😩');
165165

166166
await writePromise('\x1b[1;4H');
167-
assertPromptInput('👋|\n👍\n✌️');
167+
assertPromptInput('✌️|👍\n😎😕😅\n🤔🤷😩');
168168

169169
await writePromise('\x1b[D');
170-
assertPromptInput('|👋\n👍\n✌️');
170+
assertPromptInput('|✌️👍\n😎😕😅\n🤔🤷😩');
171171
});
172172

173173
// To "record a session" for these tests:

0 commit comments

Comments
 (0)