Sha256: ed4a0d3b149485894546255e3fd7b8a6027eb89e6d9903a161fbf564b1817fb2

Contents?: true

Size: 1.11 KB

Versions: 7

Compression:

Stored size: 1.11 KB

Contents

import * as vscode from 'vscode';
import * as assert from 'assert';
import { getDocUri, activate } from './helper';

describe('Should do completion', () => {
  const docUri = getDocUri('completion.rb');

  it('Completes', async () => {
    await testCompletion(docUri, new vscode.Position(0, 2), {
      items: [
        { label: 'Object', kind: vscode.CompletionItemKind.Class },
      ]
    });
  })


});

async function testCompletion(
	docUri: vscode.Uri,
	position: vscode.Position,
	expectedCompletionList: vscode.CompletionList
) {
	await activate(docUri);

	// Executing the command `vscode.executeCompletionItemProvider` to simulate triggering completion
	const actualCompletionList = (await vscode.commands.executeCommand(
		'vscode.executeCompletionItemProvider',
		docUri,
		position
	)) as vscode.CompletionList;

	assert.equal(actualCompletionList.items.length, expectedCompletionList.items.length);
	expectedCompletionList.items.forEach((expectedItem, i) => {
		const actualItem = actualCompletionList.items[i];
		assert.equal(actualItem.label, expectedItem.label);
		assert.equal(actualItem.kind, expectedItem.kind);
	});
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
yoda-language-server-0.7.2 client/vscode/src/test/completion.test.ts
yoda-language-server-0.7.1 client/vscode/src/test/completion.test.ts
yoda-language-server-0.7.0 client/vscode/src/test/completion.test.ts
yoda-language-server-0.6.2 client/vscode/src/test/completion.test.ts
yoda-language-server-0.6.1 client/vscode/src/test/completion.test.ts
yoda-language-server-0.6.0 client/vscode/src/test/completion.test.ts
yoda-language-server-0.5.0 client/vscode/src/test/completion.test.ts