TypeScript/tests/cases/fourslash/completionsImport_keywords.ts
2019-05-20 15:53:51 -07:00

53 lines
1.4 KiB
TypeScript

/// <reference path="fourslash.ts" />
// @Filename: /a.ts
////const _break = 0;
////export { _break as break };
////const _implements = 0;
////export { _implements as implements };
////const _unique = 0;
////export { _unique as unique };
// Note: `export const unique = 0;` is legal,
// but we want to test that we don't block an import completion of 'unique' just because it appears in an ExportSpecifier.
// @Filename: /b.ts
////br/*break*/
////im/*implements*/
////un/*unique*/
const preferences: FourSlashInterface.UserPreferences = { includeCompletionsForModuleExports: true };
verify.completions(
// no reserved words
{
marker: "break",
exact: completion.globals,
preferences,
},
// no strict mode reserved words
{
marker: "implements",
exact: completion.globals,
preferences,
},
// yes contextual keywords
{
marker: "unique",
exact: [
completion.globalThisEntry,
...completion.globalsVars,
completion.undefinedVarEntry,
{
name: "unique",
source: "/a",
sourceDisplay: "./a",
text: "(alias) const unique: 0\nexport unique",
hasAction: true,
sortText: completion.SortText.AutoImportSuggestions
},
...completion.globalKeywords.filter(e => e.name !== "unique"),
],
preferences,
},
);