提交 75071898 编写于 作者: M Matt Bierner

Adding test for vscode.executeSignatureHelpProvider

上级 39da581b
......@@ -26,8 +26,9 @@ export function provideSignatureHelp(model: ITextModel, position: Position, cont
}));
}
registerDefaultLanguageCommand('_executeSignatureHelpProvider', (model, position) =>
registerDefaultLanguageCommand('_executeSignatureHelpProvider', (model, position, args) =>
provideSignatureHelp(model, position, {
triggerKind: modes.SignatureHelpTriggerKind.Invoke,
isRetrigger: false
isRetrigger: false,
triggerCharacter: args['triggerCharacter']
}, CancellationToken.None));
......@@ -564,6 +564,35 @@ suite('ExtHostLanguageFeatureCommands', function () {
assert.equal(b.commitCharacters, undefined);
});
// --- signatureHelp
test('Parameter Hints, back and forth', async () => {
disposables.push(extHost.registerSignatureHelpProvider(nullExtensionDescription, defaultSelector, new class implements vscode.SignatureHelpProvider {
provideSignatureHelp(_document, _position, _token, context: vscode.SignatureHelpContext): vscode.SignatureHelp {
return {
activeSignature: 0,
activeParameter: 1,
signatures: [
{
label: 'abc',
documentation: `${context.triggerKind === 1 /* vscode.SignatureHelpTriggerKind.Invoke */ ? 'invoked' : 'unknown'} ${context.triggerCharacter}`,
parameters: []
}
]
};
}
}, []));
await rpcProtocol.sync();
const firstValue = await commands.executeCommand<vscode.SignatureHelp>('vscode.executeSignatureHelpProvider', model.uri, new types.Position(0, 1), ',');
assert.strictEqual(firstValue.activeSignature, 0);
assert.strictEqual(firstValue.activeParameter, 1);
assert.strictEqual(firstValue.signatures.length, 1);
assert.strictEqual(firstValue.signatures[0].label, 'abc');
assert.strictEqual(firstValue.signatures[0].documentation, 'invoked ,');
});
// --- quickfix
test('QuickFix, back and forth', function () {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册