Skip to content

Commit 406b22f

Browse files
committed
add more tests
1 parent f8f5417 commit 406b22f

1 file changed

Lines changed: 41 additions & 19 deletions

File tree

src/vs/workbench/test/common/api/extHostApiCommands.test.ts

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -244,29 +244,51 @@ suite('ExtHostLanguageFeatureCommands', function() {
244244
provideCompletionItems(doc, pos): any {
245245
let a = new types.CompletionItem('item1');
246246
let b = new types.CompletionItem('item2');
247-
b.textEdit = types.TextEdit.replace(new types.Range(0, 0, 0, 4), 'foo');
248-
return [a, b];
247+
b.textEdit = types.TextEdit.replace(new types.Range(0, 4, 0, 8), 'foo'); // overwite after
248+
let c = new types.CompletionItem('item3');
249+
c.textEdit = types.TextEdit.replace(new types.Range(0, 1, 0, 6), 'foobar'); // overwite before & after
250+
let d = new types.CompletionItem('item4');
251+
d.textEdit = types.TextEdit.replace(new types.Range(0, 1, 0, 4), ''); // overwite before
252+
return [a, b, c, d];
249253
}
250254
}, []));
251255

252256
threadService.sync().then(() => {
253-
commands.executeCommand<vscode.CompletionItem[]>('vscode.executeCompletionItemProvider', model.getAssociatedResource(), new types.Position(0, 0)).then(values => {
254-
assert.equal(values.length, 2);
255-
let [first, second] = values;
256-
assert.equal(first.label, 'item1');
257-
assert.equal(first.textEdit.newText, 'item1');
258-
assert.equal(first.textEdit.range.start.line, 0);
259-
assert.equal(first.textEdit.range.start.character, 0);
260-
assert.equal(first.textEdit.range.end.line, 0);
261-
assert.equal(first.textEdit.range.end.character, 0);
262-
263-
assert.equal(second.label, 'item2');
264-
assert.equal(second.textEdit.newText, 'foo');
265-
assert.equal(second.textEdit.range.start.line, 0);
266-
assert.equal(second.textEdit.range.start.character, 0);
267-
assert.equal(second.textEdit.range.end.line, 0);
268-
assert.equal(second.textEdit.range.end.character, 4);
269-
done();
257+
commands.executeCommand<vscode.CompletionItem[]>('vscode.executeCompletionItemProvider', model.getAssociatedResource(), new types.Position(0, 4)).then(values => {
258+
try {
259+
assert.equal(values.length, 4);
260+
let [first, second, third, forth] = values;
261+
assert.equal(first.label, 'item1');
262+
assert.equal(first.textEdit.newText, 'item1');
263+
assert.equal(first.textEdit.range.start.line, 0);
264+
assert.equal(first.textEdit.range.start.character, 0);
265+
assert.equal(first.textEdit.range.end.line, 0);
266+
assert.equal(first.textEdit.range.end.character, 4);
267+
268+
assert.equal(second.label, 'item2');
269+
assert.equal(second.textEdit.newText, 'foo');
270+
assert.equal(second.textEdit.range.start.line, 0);
271+
assert.equal(second.textEdit.range.start.character, 4);
272+
assert.equal(second.textEdit.range.end.line, 0);
273+
assert.equal(second.textEdit.range.end.character, 8);
274+
275+
assert.equal(third.label, 'item3');
276+
assert.equal(third.textEdit.newText, 'foobar');
277+
assert.equal(third.textEdit.range.start.line, 0);
278+
assert.equal(third.textEdit.range.start.character, 1);
279+
assert.equal(third.textEdit.range.end.line, 0);
280+
assert.equal(third.textEdit.range.end.character, 6);
281+
282+
assert.equal(forth.label, 'item4');
283+
assert.equal(forth.textEdit.newText, '');
284+
assert.equal(forth.textEdit.range.start.line, 0);
285+
assert.equal(forth.textEdit.range.start.character, 1);
286+
assert.equal(forth.textEdit.range.end.line, 0);
287+
assert.equal(forth.textEdit.range.end.character, 4);
288+
done();
289+
} catch (e) {
290+
done(e);
291+
}
270292
});
271293
});
272294
});

0 commit comments

Comments
 (0)