This commit is contained in:
Ben Lichtman
2020-01-07 12:57:34 -08:00
parent 49f7f2532c
commit 509d243ea5
4 changed files with 34 additions and 3 deletions

View File

@@ -843,8 +843,8 @@ namespace FourSlash {
}
private verifyCompletionEntry(actual: ts.CompletionEntry, expected: FourSlashInterface.ExpectedCompletionEntry) {
const { insertText, replacementSpan, hasAction, isRecommended, kind, kindModifiers, text, documentation, tags, source, sourceDisplay, sortText } = typeof expected === "string"
? { insertText: undefined, replacementSpan: undefined, hasAction: undefined, isRecommended: undefined, kind: undefined, kindModifiers: undefined, text: undefined, documentation: undefined, tags: undefined, source: undefined, sourceDisplay: undefined, sortText: undefined }
const { insertText, replacementSpan, hasAction, isRecommended, isFromUncheckedFile, kind, kindModifiers, text, documentation, tags, source, sourceDisplay, sortText } = typeof expected === "string"
? { insertText: undefined, replacementSpan: undefined, hasAction: undefined, isRecommended: undefined, isFromUncheckedFile: undefined, kind: undefined, kindModifiers: undefined, text: undefined, documentation: undefined, tags: undefined, source: undefined, sourceDisplay: undefined, sortText: undefined }
: expected;
if (actual.insertText !== insertText) {
@@ -868,7 +868,8 @@ namespace FourSlash {
}
assert.equal(actual.hasAction, hasAction, `Expected 'hasAction' value '${actual.hasAction}' to equal '${hasAction}'`);
assert.equal(actual.isRecommended, isRecommended, `Expected 'isRecommended' value '${actual.source}' to equal '${isRecommended}'`);
assert.equal(actual.isRecommended, isRecommended, `Expected 'isRecommended' value '${actual.isRecommended}' to equal '${isRecommended}'`);
assert.equal(actual.isFromUncheckedFile, isFromUncheckedFile, `Expected 'isFromUncheckedFile' value '${actual.isFromUncheckedFile}' to equal '${isFromUncheckedFile}'`);
assert.equal(actual.source, source, `Expected 'source' value '${actual.source}' to equal '${source}'`);
assert.equal(actual.sortText, sortText || ts.Completions.SortText.LocationPriority, this.messageAtLastKnownMarker(`Actual entry: ${JSON.stringify(actual)}`));

View File

@@ -1472,6 +1472,7 @@ namespace FourSlashInterface {
readonly replacementSpan?: FourSlash.Range;
readonly hasAction?: boolean; // If not specified, will assert that this is false.
readonly isRecommended?: boolean; // If not specified, will assert that this is false.
readonly isFromUncheckedFile?: boolean; // If not specified, will assert that this is false.
readonly kind?: string; // If not specified, won't assert about this
readonly kindModifiers?: string; // Must be paired with 'kind'
readonly text?: string;

View File

@@ -0,0 +1,28 @@
/// <reference path="fourslash.ts" />
// @allowJs: true
// @checkJs: false
// @Filename: index.js
////function hello() {
////
////}
////
////const goodbye = 5;
////
////console./*0*/
verify.completions({
marker: "0",
includes: [
{
name: "hello",
sortText: completion.SortText.JavascriptIdentifiers,
isFromUncheckedFile: true
},
{
name: "goodbye",
sortText: completion.SortText.JavascriptIdentifiers,
isFromUncheckedFile: true
}
]
});

View File

@@ -609,6 +609,7 @@ declare namespace FourSlashInterface {
readonly replacementSpan?: Range;
readonly hasAction?: boolean;
readonly isRecommended?: boolean;
readonly isFromUncheckedFile?: boolean;
readonly kind?: string;
readonly kindModifiers?: string;
readonly sortText?: completion.SortText;