TypeScript/tests/cases/fourslash/completionsThisType.ts
Andrew Branch 23b500cadf
Don’t offer this. completions on self, window, global, globalThis. Disambiguate this. completions from others in details requests. (#37652)
* Special-case window, self, global, globalThis methods

* Disambiguate global and this property completions in details requests

* Hide the Map<boolean> implementation

* Update old tests

* Replace SymbolOriginKind stringification with dedicated enum
2020-03-31 12:40:57 -07:00

29 lines
1.1 KiB
TypeScript

/// <reference path="fourslash.ts" />
////class C {
//// "foo bar": number;
//// xyz() {
//// return (/**/)
//// }
////}
////
////function f(this: { x: number }) { /*f*/ }
const preferences: FourSlashInterface.UserPreferences = { includeInsertTextCompletions: true };
verify.completions(
{
marker: "",
includes: [
{ name: "xyz", text: "(method) C.xyz(): any", kind: "method", insertText: "this.xyz", sortText: completion.SortText.SuggestedClassMembers, source: completion.CompletionSource.ThisProperty },
{ name: "foo bar", text: '(property) C["foo bar"]: number', kind: "property", insertText: 'this["foo bar"]', sortText: completion.SortText.SuggestedClassMembers, source: completion.CompletionSource.ThisProperty },
],
isNewIdentifierLocation: true,
preferences,
},
{
marker: "f",
includes: { name: "x", text: "(property) x: number", kind: "property", insertText: "this.x", sortText: completion.SortText.SuggestedClassMembers, source: completion.CompletionSource.ThisProperty },
preferences,
},
);