This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to branch feature/vscode-htl in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
commit dfe8fe5a495942fe45fc7d07b120ff36a9a28bd9 Author: Robert Munteanu <[email protected]> AuthorDate: Thu Dec 9 11:37:43 2021 +0100 completions: don't suggest anything for unknown properties --- vscode-htl/src/htlCompletionItemProvider.ts | 3 +++ vscode-htl/src/test/suite/extension.test.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/vscode-htl/src/htlCompletionItemProvider.ts b/vscode-htl/src/htlCompletionItemProvider.ts index 347745c..8a605a2 100644 --- a/vscode-htl/src/htlCompletionItemProvider.ts +++ b/vscode-htl/src/htlCompletionItemProvider.ts @@ -39,6 +39,9 @@ export class HtlCompletionItemProvider implements vscode.CompletionItemProvider let matchingDefinition = completionProperties.find( e => e.name === completionCandidate ); if ( matchingDefinition ) { completionProperties = this.completionData.findPropertyCompletions(matchingDefinition.javaType); + } else { + completionProperties = []; + break; } } diff --git a/vscode-htl/src/test/suite/extension.test.ts b/vscode-htl/src/test/suite/extension.test.ts index c0ad357..d3473aa 100644 --- a/vscode-htl/src/test/suite/extension.test.ts +++ b/vscode-htl/src/test/suite/extension.test.ts @@ -92,4 +92,18 @@ suite('Extension Test Suite', () => { let completionVariables = completions?.map ( c => c.label.toString()).slice(0,5); assert.deepStrictEqual(completionVariables?.sort(), ["children", "name", "parent", "path", "resourceType"]); }); + + test('invalid completion test', () => { + let document = ` + <html> + <body> + \${ request.foo. } + </body> + </html> + `; + let completions = completionProvider.provideCompletionItems0('${request.foo.', document); + // test a subset, otherwise it's too cumbersome + let completionVariables = completions?.map ( c => c.label.toString()); + assert.deepStrictEqual(completionVariables?.sort(), []); + }); });
