diff --git a/packages/ansible-language-server/test/helper.ts b/packages/ansible-language-server/test/helper.ts index feb0c734c..30961b491 100644 --- a/packages/ansible-language-server/test/helper.ts +++ b/packages/ansible-language-server/test/helper.ts @@ -2,7 +2,11 @@ import { TextDocument } from "vscode-languageserver-textdocument"; import * as path from "path"; import { readFileSync } from "fs"; import { WorkspaceManager } from "../src/services/workspaceManager"; -import { createConnection, TextDocuments } from "vscode-languageserver/node"; +import { + CompletionItem, + createConnection, + TextDocuments, +} from "vscode-languageserver/node"; import { ValidationManager } from "../src/services/validationManager"; import { ExtensionSettings } from "../src/interfaces/extensionSettings"; @@ -93,7 +97,10 @@ export function isWindows(): boolean { * @param triggerCharacter - string against which fuzzy search is to be done * @returns list after sorting and filtering */ -export function smartFilter(completionList, triggerCharacter) { +export function smartFilter( + completionList: CompletionItem[], + triggerCharacter: string, +): CompletionItem[] { if (!completionList) { return []; } @@ -108,7 +115,12 @@ export function smartFilter(completionList, triggerCharacter) { }); let filteredCompletionList = triggerCharacter - ? searcher.search(triggerCharacter).slice(0, 5) + ? searcher + .search(triggerCharacter) + .slice(0, 5) + .map((completion) => { + return completion.item; + }) : completionList.slice(0, 5); if (filteredCompletionList.length === 0) { @@ -118,9 +130,13 @@ export function smartFilter(completionList, triggerCharacter) { keys: ["label"], threshold: 0.2, }); - filteredCompletionList = triggerCharacter - ? newSearcher.search(triggerCharacter).slice(0, 5) + ? newSearcher + .search(triggerCharacter) + .slice(0, 5) + .map((completion) => { + return completion.item; + }) : completionList.slice(0, 5); } diff --git a/packages/ansible-language-server/test/providers/completionProvider.test.ts b/packages/ansible-language-server/test/providers/completionProvider.test.ts index dfaa7e43c..d8821dc06 100644 --- a/packages/ansible-language-server/test/providers/completionProvider.test.ts +++ b/packages/ansible-language-server/test/providers/completionProvider.test.ts @@ -50,15 +50,8 @@ function testPlayKeywords( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -95,15 +88,8 @@ function testRoleKeywords( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -140,15 +126,8 @@ function testBlockKeywords( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -185,15 +164,8 @@ function testTaskKeywords( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -266,15 +238,8 @@ function testModuleNames( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).to.contain(completion); - expect(filteredCompletion[0].textEdit.newText).to.contain(completion); - } else { - expect(filteredCompletion[0].item.label).to.contain(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.contain( - completion, - ); - } + expect(filteredCompletion[0].label).to.contain(completion); + expect(filteredCompletion[0].textEdit.newText).to.contain(completion); } }); }); @@ -335,15 +300,8 @@ function testModuleOptions( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -394,11 +352,7 @@ function testModuleOptionsValues( actualCompletion, triggerCharacter, ).map((completion) => { - if (!completion.item) { - return completion.label; - } else { - return completion.item.label; - } + return completion.label; }); if (!completion) { @@ -411,11 +365,7 @@ function testModuleOptionsValues( actualCompletion, triggerCharacter, ).map((completion) => { - if (!completion.item) { - return completion.textEdit.newText; - } else { - return completion.item.textEdit.newText; - } + return completion.textEdit.newText; }); if (!completion) { @@ -479,15 +429,8 @@ function testModuleNamesWithoutFQCN( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).to.be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -530,15 +473,8 @@ function testPlaybookAdjacentCollection( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -575,15 +511,8 @@ function testNonPlaybookAdjacentCollection( if (!completion) { expect(filteredCompletion.length).be.equal(0); } else { - if (!filteredCompletion[0].item) { - expect(filteredCompletion[0].label).be.equal(completion); - expect(filteredCompletion[0].textEdit.newText).be.equal(completion); - } else { - expect(filteredCompletion[0].item.label).to.be.equal(completion); - expect(filteredCompletion[0].item.textEdit.newText).be.equal( - completion, - ); - } + expect(filteredCompletion[0].label).be.equal(completion); + expect(filteredCompletion[0].textEdit.newText).be.equal(completion); } }); }); @@ -628,11 +557,7 @@ function testHostValues( actualCompletion, triggerCharacter, ).map((completion) => { - if (!completion.item) { - return completion.label; - } else { - return completion.item.label; - } + return completion.label; }); if (!completion) { @@ -689,11 +614,7 @@ function testVarsCompletionInsideJinja( actualCompletion, triggerCharacter, ).map((completion) => { - if (!completion.item) { - return completion.label; - } else { - return completion.item.label; - } + return completion.label; }); if (!completion) {